Index One

io.indexonePublished by indexone.ioOfficial publisherv1.4.0Updated Nov 2, 2026

Query financial index data, run backtests, and deploy systematic investment strategies on Index One.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowFinanceData & Analytics

Overview

AI-generated overview

Remote Index One server that lets an assistant read financial index data, run backtests, and build and deploy systematic index strategies.

What you can do
  • Read index metadata, historical value series, holdings, weightings, universes and risk/return statistics for team and public indices
  • Run backtests over history and poll their results
  • Discover workflow operations, examples, workflows and datasets
  • Preview workflows against real data and inspect run outputs and column values
  • Validate and save workflows as drafts, then deploy an index as a live, continuously calculated index
When to use it
Useful when you work with Index One indices and want an assistant to explore index data, test strategy definitions against history, or assemble and deploy a custom index workflow without leaving the chat client.
Requirements
A remote endpoint at api.indexone.io over streamable HTTP; nothing to install locally. Authentication is OAuth 2.1 with an Index One account, or a team API key sent in the x-api-key header for clients that cannot do OAuth. Calls are scoped to your team and rate limited to roughly 60 per minute.
Before you install
Deploying registers a live, continuously calculated index and requires confirm=true after a full backtest; saved drafts and deploys change data in your team's Index One account. An API key grants team-scoped access, so store it carefully and revoke it in the console if exposed. Index data and workflow definitions are sent to Index One's hosted service.

Installation

In SourceWeft

  1. Open Index One in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.indexone%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "index-one": {
      "type": "http",
      "url": "https://api.indexone.io/mcp"
    }
  }
}

README

Index One MCP Server

Remote MCP server for Index One — query financial index data, run backtests, and build and deploy systematic investment strategies from any MCP-capable client.

Endpointhttps://api.indexone.io/mcp
TransportStreamable HTTP (stateless, POST only)
AuthOAuth 2.1, or a team API key in x-api-key
Tools22
Registryio.indexone/mcp
Docshttps://indexone.io/docs/mcp

This repository is the public home for the server's manifest, tool reference and client examples. The server itself is hosted by Index One — there is nothing to install, build or run locally, and the server implementation is not open source.

What it does

Index One builds and calculates custom financial indices. The MCP server exposes that platform as tools, so an agent can:

  • Read index data — metadata, historical value series, holdings, weightings, universes, and risk/return statistics for your team's indices and public ones.
  • Backtest — simulate any index definition over history, with performance summaries and value series.
  • Build and deploy — discover the workflow operations and datasets available, preview a workflow against real data, validate it, save it as a draft, and deploy it as a live, continuously calculated index.

The server is a tool surface, not a chatbot: your client's own model does the reasoning and calls tools one at a time. Every call is scoped to your team.

Authentication

OAuth — clients that implement the MCP authorization spec (the Claude web and Desktop connectors, among others) need only the endpoint URL. You'll be sent to a sign-in page and log in with your normal Index One account; no key ends up in a config file.

API key — everything else sends a team API key as the x-api-key header. This covers Claude Code, Cursor, VS Code and custom agents, which register on a random local port that OAuth providers can't pre-approve. Create and revoke keys in the Index One console under Team → API Keys.

Both resolve to the same team scope. Rate limit is roughly 60 calls per minute per team; over that you get 429 with Retry-After.

Quick start

Claude (web or Desktop) — connector

Settings → Connectors → Add custom connector, paste https://api.indexone.io/mcp, leave the advanced OAuth fields empty, and sign in with your Index One account.

Claude Code

bash
claude mcp add --transport http indexone https://api.indexone.io/mcp \  --header "x-api-key: YOUR_API_KEY"

Cursor — ~/.cursor/mcp.json

json
{  "mcpServers": {    "indexone": {      "url": "https://api.indexone.io/mcp",      "headers": { "x-api-key": "YOUR_API_KEY" }    }  }}

VS Code — .vscode/mcp.json

json
{  "servers": {    "indexone": {      "type": "http",      "url": "https://api.indexone.io/mcp",      "headers": { "x-api-key": "YOUR_API_KEY" }    }  }}

Claude Desktop — claude_desktop_config.json

Desktop reaches remote servers through the mcp-remote bridge:

json
{  "mcpServers": {    "indexone": {      "command": "npx",      "args": [        "-y", "mcp-remote", "https://api.indexone.io/mcp",        "--header", "x-api-key:${INDEXONE_API_KEY}"      ],      "env": { "INDEXONE_API_KEY": "YOUR_API_KEY" }    }  }}

On Windows, use "command": "cmd" with "args": ["/c", "npx", ...] — Desktop resolves npx to a path containing a space, which breaks the launch. Write the header with no space after the colon; Desktop does not escape spaces inside arguments.

Anything else

See examples/ for a raw JSON-RPC call over curl and a Python client using the official MCP SDK.

Tools

Full reference with descriptions: TOOLS.md.

GroupTools
Index dataget_index, get_index_values, get_index_holdings, get_index_weightings, get_index_universe, get_index_stats
Backtestingrun_backtest, get_backtest
Discoverylist_operations, get_operations, list_examples, get_example, list_workflows, get_workflow, list_datasets, inspect_dataset
Previewrun_workflow, inspect_run, get_column_values
Persistencevalidate_workflow, save_workflow, deploy_index

Writes are deliberately narrow: an agent can save drafts and deploy an index — the latter only with confirm=true, after a full backtest, and never as an empty index — and there is no delete tool.

Building an index

An index workflow is a DAG of operations: a trigger that sets the schedule, operations that select, filter and weight securities, and a create_index_holdings step that turns the result into holdings. Agents discover that shape rather than assuming it. The server ships instructions telling the client's model to follow this path:

list_operations     what operations exist?get_example         copy wiring from a real workflowget_operations      exact parameter schemasinspect_dataset     real columns, real valuesrun_workflow        preview against real data (nothing saved)validate_workflow   optional draft check (the run tools validate on their own)save_workflow       persist as a draftrun_backtest        validates + simulates, returns a backtest_id immediatelydeploy_index        register a live index (confirm=true)

Operation names, dataset ids, column names and filter values are always looked up, never guessed.

Notes

  • Stateless streamable HTTP: every request is self-contained, POST only (GET/DELETE return 405), JSON responses returned directly — no SSE stream required.
  • Preview runs cache their outputs for two hours so inspect_run and get_column_values work across calls.
  • run_backtest and deploy_index never hold the connection open: they validate synchronously, then return a backtest_id (and, for deploys, the pending index_id) immediately; poll get_backtest for the result — it absorbs part of the wait server-side, so polling back-to-back is fine.

Support

Questions, higher rate limits, or anything odd: [email protected]

Source: README.md at commit 61c5578

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.4.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts