Securely Redirecting...

Connecting to Stripe

FX Macrodata MCP Server

Submission-ready long-form publish copy for Anthropic MCP catalog review.

Description

FX Macrodata MCP provides read-only tools for macroeconomic indicators and FX spot rates across USD, AUD, EUR, GBP, CHF, JPY, NZD, and CAD. It is designed for analyst workflows in Claude and other MCP-compatible clients, with normalized output schemas and consistent indicator metadata.

Features

  • Read-only macroeconomic time-series queries by currency and indicator.
  • FX spot rate history between currency pairs.
  • Release calendar queries for upcoming indicator announcements.
  • Indicator catalogue discovery by currency.
  • OAuth 2.0 authorization code flow with PKCE support for authenticated usage.
  • Streamable HTTP MCP transport for remote connector compatibility.

Server Details

  • MCP base URL: https://fxmacrodata.com/api/mcp
  • OAuth authorization endpoint: https://fxmacrodata.com/api/oauth/authorize
  • OAuth token endpoint: https://fxmacrodata.com/api/oauth/token
  • OAuth metadata endpoint: https://fxmacrodata.com/api/.well-known/oauth-authorization-server
  • Transport: Streamable HTTP
  • Security: HTTPS/TLS

Catalog Submission Readiness (Cross-Catalog)

This section is designed for submission to multiple MCP catalogs, marketplaces, and connector directories.

  • Service ownership: FX Macro Data controls and operates the published MCP endpoints and connected APIs.
  • Public HTTPS endpoints: All production endpoints are publicly reachable over TLS.
  • Authentication model: OAuth 2.0 authorization code + PKCE for authenticated access; read-only access behavior is documented.
  • Tool safety metadata: All tools are annotated as read-only where applicable.
  • Support channel: support@fxmacrodata.com with website support route.
  • Privacy and terms: Public privacy policy and terms URLs are published and stable.
  • Error transparency: Structured error envelopes and clear status codes are returned.
  • Operational testing: Health, initialize, metadata, and tools/list checks are documented below.

Compatibility Notes

  • Primary transport is Streamable HTTP.
  • Remote connector flows are designed for Claude Web and Claude Desktop.
  • If infrastructure uses strict firewall rules, allowlist current Anthropic outbound IP ranges for hosted connector traffic.
  • If relying only on IP allowlisting (without OAuth), Claude Code compatibility may be limited.

Authentication and Authorization Model

  • Primary model: OAuth 2.0 authorization code with PKCE.
  • Scopes: fxmacrodata.read.
  • Bearer transport: MCP supports Authorization: Bearer <access_token>.
  • Entitlements: USD indicators are public; non-USD indicators require professional access.
  • Session invalidation guidance: return 401 for invalid/expired auth contexts.

Rate Limits, Timeouts, and Payload Guidance

  • Clients should keep tool requests bounded by date range to reduce payload size and latency.
  • For long horizons, prefer segmented requests (for example, yearly windows) rather than single large queries.
  • Use filters (currency, indicator, start/end date) to keep responses token-efficient.
  • Server-side caching is enabled for hot-path API calls to reduce repeated upstream fetches.

Data Handling and Privacy

  • The service is designed for macroeconomic and FX data retrieval only.
  • Tool input should include only the minimum context needed for the requested data query.
  • No tool is designed to read prior chat history or hidden model memory.
  • No tool performs financial transactions or side-effecting account operations.
  • Official policy links: Privacy Policy and Terms.

Security and Vulnerability Reporting

  • Security contact: support@fxmacrodata.com (include “Security” in subject line).
  • All production traffic is HTTPS/TLS only.
  • If firewall controls are enabled, allowlist current platform IP ranges as required by target catalog guidance.
  • Use least-privilege credentials for all reviewer/test accounts.

Reviewer Test Account and QA Access

For catalogs that require authenticated QA, provide a dedicated reviewer account with representative sample access.

  • Test credentials are provisioned for reviewers during submission.
  • Account includes access required to exercise all listed tools.
  • Sample scenarios used in review are covered by the Usage Examples section.
  • If secure credential delivery is required, share via approved secure channel in the submission process.

Versioning and Change Management

  • MCP server reports a version in serverInfo.version during initialize.
  • Backward-compatible updates are preferred; breaking changes should be announced before rollout.
  • Operational validation (health + initialize + tools/list + OAuth metadata) should be rerun after each deployment.

Catalog-Specific Notes

  • Anthropic: Streamable HTTP and tool safety annotations are implemented; callback allowlist values are documented above.
  • Other catalogs/clients: Use the same base MCP endpoint and OAuth metadata endpoint unless the platform requires alternate onboarding fields.
  • Where catalogs request additional compliance artifacts (DPA, security questionnaire, SLA), provide links or documents during submission.

Tool Catalog

1) ping

Health check for service readiness.

Input: none

Output: service status payload

Safety: readOnlyHint=true, destructiveHint=false

2) data_catalogue

Returns available indicators and metadata for a currency.

Input: currency

Output: {currency, catalogue}

Safety: readOnlyHint=true, destructiveHint=false

3) release_calendar

Returns upcoming release timestamps with optional indicator filtering.

Input: currency, optional indicator

Output: {currency, indicator, data[]} with announcement_datetime and release

Safety: readOnlyHint=true, destructiveHint=false

4) forex

Returns historical FX spot rates between two currencies.

Input: base, quote, optional start_date, optional end_date

Output: {base, quote, start_date, end_date, data[]}

Safety: readOnlyHint=true, destructiveHint=false

5) indicator_query

Returns macroeconomic indicator time series for a currency.

Input: currency, indicator, optional start_date, optional end_date

Output: {currency, indicator, start_date, end_date, data[]} where each row uses {date, val, announcement_datetime}

Safety: readOnlyHint=true, destructiveHint=false

Authentication

OAuth 2.0

This server supports OAuth 2.0 authorization code flow with PKCE.

Supported callback URLs to allowlist:

  • http://localhost:6274/oauth/callback
  • http://localhost:6274/oauth/callback/debug
  • https://claude.ai/api/mcp/auth_callback
  • https://claude.com/api/mcp/auth_callback

Access behavior

  • USD indicator queries are public.
  • Non-USD indicator queries require professional access.

Discovery behavior

  • OAuth metadata is published at /api/.well-known/oauth-authorization-server (issuer path includes /api).
  • Metadata should return public HTTPS issuer and endpoint URLs under https://fxmacrodata.com/api.

Setup

  1. Open your MCP-capable client and add a remote MCP server.
  2. Use the server URL: https://fxmacrodata.com/api/mcp.
  3. Complete OAuth sign-in when prompted.
  4. Start with ping, then run data_catalogue and indicator_query.

Usage Examples

Example 1 — USD inflation time series

User prompt: “Get USD inflation data from 2024-01-01 to 2025-01-01”

Calls: indicator_query(currency="usd", indicator="inflation", start_date="2024-01-01", end_date="2025-01-01")

Example 2 — AUD catalogue discovery

User prompt: “What AUD indicators are available?”

Calls: data_catalogue(currency="aud")

Example 3 — USD release calendar filter

User prompt: “Show upcoming USD GDP release dates”

Calls: release_calendar(currency="usd", indicator="gdp")

Error Handling

  • Tool responses are normalized as ok, status_code, result, and error.
  • 406 Not Acceptable when client does not accept text/event-stream.
  • 400 Bad Request for invalid MCP request format.
  • 401/403 for authentication/authorization failures on protected data.

Client Behavior Notes

  • A plain browser-style GET /api/mcp can return 406; this is expected for non-MCP probes.
  • A valid MCP initialize request with Accept: text/event-stream should return 200 and an MCP session id.

Performance and Limits

  • Target is production-grade remote MCP operation over HTTPS.
  • Tool responses remain concise and token-efficient for agent workflows.
  • Caching and source-specific fetch behavior are handled by the API service.

Production Status

  • Intended status: General Availability (GA)
  • Deployment: Google Cloud Run
  • Transport: Streamable HTTP MCP

Quick Validation

# API health
curl -i https://fxmacrodata.com/api/ping

# MCP route probe (406 is acceptable for non-MCP clients)
curl -i https://fxmacrodata.com/api/mcp

# OAuth metadata
curl -i https://fxmacrodata.com/api/.well-known/oauth-authorization-server

# MCP initialize
curl -i -X POST "https://fxmacrodata.com/api/mcp" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    --data '{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'

# MCP tools/list (replace SESSION_ID)
curl -i -X POST "https://fxmacrodata.com/api/mcp" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -H "Mcp-Session-Id: SESSION_ID" \
    --data '{"jsonrpc":"2.0","id":"2","method":"tools/list","params":{}}'

# Optional authenticated tool call example
curl -i -X POST "https://fxmacrodata.com/api/mcp" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -H "Mcp-Session-Id: SESSION_ID" \
    --data '{"jsonrpc":"2.0","id":"3","method":"tools/call","params":{"name":"indicator_query","arguments":{"currency":"usd","indicator":"inflation","start_date":"2024-01-01","end_date":"2025-01-01"}}}'