New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@fts-studio/studio-mcp

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fts-studio/studio-mcp

MCP server for FTS Studio API — search financial news & regulatory intelligence, retrieve full articles, generate cited AI summaries, and manage collections from Claude, ChatGPT, Cursor, and other MCP clients. Runs locally over stdio or remotely over Stre

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@fts-studio/studio-mcp

MCP (Model Context Protocol) server for the FTS Studio API. Connects Claude Desktop, Cursor, and other MCP-compatible AI clients to financial news intelligence.

Quick Start

1. Get an API Key

Create one at FTS Studio → Build → API Keys.

2. Configure Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "fts-studio": {
      "command": "npx",
      "args": ["@fts-studio/studio-mcp"],
      "env": {
        "FTS_API_KEY": "fts_live_your_key_here"
      }
    }
  }
}

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

3. Configure Cursor

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "fts-studio": {
      "command": "npx",
      "args": ["@fts-studio/studio-mcp"],
      "env": {
        "FTS_API_KEY": "fts_live_your_key_here"
      }
    }
  }
}

4. Use It

Once configured, you can ask Claude or Cursor things like:

  • "Search for recent SEC enforcement actions"
  • "What's trending in financial markets today?"
  • "Give me an executive summary of AI regulation developments"
  • "List my saved collections"
  • "Show me the latest articles from my 'M&A' collection"

Remote (Streamable HTTP) mode

For hosted / directory connectors the server also runs over Streamable HTTP, exposing POST/GET/DELETE /mcp with sessions tracked by Mcp-Session-Id. A GET /healthz endpoint reports liveness.

MCP_TRANSPORT=http PORT=8787 npx @fts-studio/studio-mcp
# or: npx @fts-studio/studio-mcp --http

Point a remote MCP client at https://mcp.fintechstudios.com/mcp.

Authentication (FTS_MCP_AUTH)

  • apikey (default) — each request carries the FTS API key in the Authorization: Bearer header; used directly for downstream calls. Good for developer-mode / custom connectors.
  • oauth — OAuth 2.1 Resource Server, required for the Anthropic Connectors Directory and OpenAI Apps. The server publishes Protected Resource Metadata at /.well-known/oauth-protected-resource, validates the bearer access token per request (JWKS + issuer + audience), and returns 401 with a WWW-Authenticate challenge on failure. The validated identity is exchanged for a scoped fts_ key server-side (via FTS_MCP_EXCHANGE_URL), so the raw API key never reaches the AI client.

Deploying (mcp.fintechstudios.com)

A Dockerfile is included; the image runs in HTTP mode on PORT (default 8787) with TLS terminated by the platform/load balancer:

docker build -t fts-studio-mcp ./mcp-server
docker run -p 8787:8787 \
  -e MCP_TRANSPORT=http \
  -e FTS_API_BASE_URL=https://studio.fintechstudios.com \
  -e FTS_MCP_AUTH=oauth \
  -e FTS_MCP_OAUTH_ISSUER=https://auth.fintechstudios.com/ \
  -e FTS_MCP_OAUTH_AUDIENCE=https://studio.fintechstudios.com/api \
  -e FTS_MCP_RESOURCE=https://mcp.fintechstudios.com/mcp \
  -e FTS_MCP_EXCHANGE_URL=https://studio.fintechstudios.com/api/v1/mcp/exchange \
  -e FTS_MCP_EXCHANGE_SERVICE_TOKEN=<shared secret, same value set on the app> \
  -e FTS_MCP_ALLOWED_HOSTS=mcp.fintechstudios.com \
  fts-studio-mcp

Available Tools

All tools are read-only. Credit costs are indicative — call estimate_endpoint_costs to price a call before making it.

ToolCreditsDescription
search~1Deep Research contract: find documents → {id, title, url}
fetch~1Deep Research contract: full document text + citation by id
search_news~1Richer news search (source, date, summary, citation)
get_trending~1Trending market news stories
get_trending_entities~1Trending companies/people/industries with scores
summarize_news~5AI executive summary with inline citations
list_collections0List your saved collections
get_collection_articles~1Articles from a saved collection
execute_collectionvariesRun a collection now for fresh articles
estimate_endpoint_costs0Per-endpoint credit cost table
get_usage0Recent credit usage and balance
list_models0Models available for summaries/chat
get_account0Account info, tier, and credit balance

Environment Variables

VariableRequiredDescription
FTS_API_KEYstdio onlyYour API key (fts_live_... or fts_test_...)
FTS_API_BASE_URLNoAPI base URL (default https://studio.fintechstudios.com)
MCP_TRANSPORTNoSet to http for remote Streamable HTTP mode
PORTNoHTTP listen port (default 8787)
FTS_MCP_TIMEOUT_MSNoPer-request API timeout (default 30000)
FTS_MCP_ALLOWED_HOSTSNoComma-separated Host allow-list (enables DNS-rebinding protection)
FTS_MCP_ALLOWED_ORIGINSNoComma-separated Origin allow-list
FTS_MCP_AUTHNoapikey (default) or oauth
FTS_MCP_OAUTH_ISSUERoauthAuthorization Server issuer URL (e.g. your Auth0 tenant)
FTS_MCP_OAUTH_AUDIENCEoauthExpected access-token audience
FTS_MCP_RESOURCENoThis server's resource URL (default https://mcp.fintechstudios.com/mcp)
FTS_MCP_OAUTH_JWKS_URINoOverride JWKS URI (default <issuer>/.well-known/jwks.json)
FTS_MCP_OAUTH_SCOPESNoSpace-separated scopes_supported for metadata
FTS_MCP_EXCHANGE_URLNoFTS endpoint that swaps a validated identity for a scoped fts_ key
FTS_MCP_EXCHANGE_SERVICE_TOKENNoShared secret sent as X-MCP-Service-Token to the exchange endpoint

Data handling, privacy & terms

Requirements

  • Node.js 18+
  • An FTS Studio account with an API key

License

MIT — see LICENSE.

Keywords

mcp

FAQs

Package last updated on 15 Sep 2026

Related posts