> ## Documentation Index
> Fetch the complete documentation index at: https://docs.secapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect SEC API to an MCP client

> Choose a supported IDE or application client, make one cited filing call, and keep the API key in the right place.

SEC API exposes filing and research tools through a hosted MCP endpoint. Pick
the client that will actually run the work, connect with an API key owned by
that runtime, then prove one narrow filing lookup before you give an agent a
larger assignment.

`GET https://api.secapi.ai/mcp` is public discovery metadata. It confirms the
deployed connection shape, but it does not authorize a tool call. Each client
guide below configures an authenticated MCP connection separately. ChatGPT MCP
compatibility is not currently published or verified; see the Custom GPT status
page rather than treating the discovery endpoint as a working setup path.

```text theme={null}
Endpoint: https://api.secapi.ai/mcp
Header:   x-api-key: $SECAPI_API_KEY
```

Create an API key in the SEC API dashboard and keep it in the secret store that
actually runs the client. Do not put a production key in browser code, a
repository, an agent prompt, or a shared desktop configuration. A desktop IDE
configuration is appropriate for a developer-owned development key; a deployed
agent should read its key from the server-side runtime.

## Choose a path

### IDE clients

* [Continue](/clients/continue) keeps a remote MCP server in its YAML or MCP
  server configuration. Use it for an interactive, developer-owned workflow.
* [Windsurf](/clients/windsurf) reads a global JSON MCP configuration and can
  interpolate an environment variable into the request header.
* [Claude Desktop, Claude Code, and Cursor](/mcp-install) have their own
  installation instructions.

### Application frameworks

* [LangChain](/clients/langchain) discovers remote MCP tools and supplies them
  to a Python or TypeScript agent.
* [LlamaIndex](/clients/llamaindex) adapts an MCP client into LlamaIndex
  `FunctionTool` objects.
* [Vercel AI SDK](/clients/vercel-ai-sdk) converts remote MCP tools to an AI SDK
  tool set. Keep this code on the server, not in a client component or route
  response.

### ChatGPT

* [Custom GPT](/clients/custom-gpt) explains why ChatGPT MCP setup is not
  currently published or verified, and directs builders to supported clients.

## Prove one filing result

Use this as the first prompt after your client shows SEC API tools:

> Use `filings.latest` with `ticker: AAPL` and `form: 10-K`. Return the company
> name, form, filing date, accession number, filing URL, `requestId`, and
> `traceparent`. Do not infer a filing from a ticker alone.

The tool schema defines `accessionNumber`, `filingDate`, and `filingUrl` for
this response; `requestId` and `traceparent` are part of the MCP output
envelope. A good first result names the issuer, links its filing, and has an
identifier another person can reopen. Keep those fields with a cached answer,
generated report, or review record. For extraction or search tools, retain
provenance, freshness, and source fields when returned rather than replacing
them with an uncited model summary.

## When you move beyond a test

Tool discovery and tool calls are separate lifecycle steps. Refresh the tool
list when you deploy or when a tool schema changes; do not hard-code a copied
tool definition indefinitely. Bound the work an agent can request with issuer,
form, date, and result limits before it fans out.

For failures, inspect the MCP JSON-RPC error and `error.data.code`. Correct
validation errors, rotate or fix a rejected key on `401`, resolve billing or
quota state on `402`, and honor `Retry-After` on `429` or a temporary `503`.
For `mcp_tool_timeout`, reduce the request scope before one bounded retry. Keep
the request ID with a repeated failure. See the [Error code
catalog](/error-code-catalog) and [Request diagnostics](/request-diagnostics).

## Next step

Open the page for the client you are using, complete its first filing lookup,
then turn that verified call into the smallest useful agent workflow.
