Skip to main content

fd-find-data-business-mcp

Commercial, login-gated MCP server that serves FindData's own crawled data to paying users. Depends on fd-open-data-mcp as a library and reuses its cache, dispatch, and catalog — but exposes zero upstream-provider identity in responses. Every value is branded finddata; no source_used / real_source_used key ever reaches a client.

Tools

Tool Purpose
read One indicator for an entity over a list of dates (serves fresh OR stale cache; true miss dispatches in-process).
read_range Bulk series for one or more indicators over [start, end].
list_concepts Browse all available FindData indicators.
ai_search Natural-language indicator + entity discovery (superset of all search tools).
graph_search Entity-relationship graph queries (bfs/dfs/neighbors/shortest_path/subgraph/ego_graph/statistics).

Install

pip install fd-find-data-business-mcp

Run (local dev, no auth)

export FD_OPEN_DATA_MCP_DATABASE_URL=postgresql://fd:***@localhost:30432/fd_open_data
fd-find-data-business-mcp serve --transport http --host 0.0.0.0 --port 8310

With FDBIZ_JWKS_URI unset, auth is disabled (smoke test / local dev). Set it in deploy to reject every request without a valid Logto-issued JWT (401 before any tool runs).

Deploy (zihan k3s, namespace fd-mcp)

Auth is Logto (ES384 JWT) via FastMCP's JWTVerifier. The canonical Logto instance runs on guangzhou-xinru:

Env var Value
FD_OPEN_DATA_MCP_DATABASE_URL postgresql://fd:***@100.64.0.3:30432/fd_open_data (mesh address of guangzhou-xinru)
FDBIZ_JWKS_URI https://auth.finddatatech.cloud/oidc/jwks
FDBIZ_ISSUER https://auth.finddatatech.cloud/oidc
FDBIZ_AUDIENCE the API resource identifier you register in Logto admin (recommended: https://api.finddatatech.cloud/mcp)
FDBIZ_ALGORITHM JWT signing alg (default ES384 — Logto's EC P-384 key; set RS256 if your IdP signs RSA).

These four keys are added to the shared fd-mcp-env Secret (carries FD_OPEN_DATA_MCP_DATABASE_URL / REDIS_URL already — the business pod reuses them; MCP_BEARER_TOKEN from the sibling pods is inert here, this pod uses JWT auth, not bearer):

# on zihan (sudo kubectl)
sudo kubectl -n fd-mcp create secret generic fd-mcp-env \
  --from-literal=FD_OPEN_DATA_MCP_DATABASE_URL='postgresql://fd:***@100.64.0.3:30432/fd_open_data' \
  --from-literal=REDIS_URL='redis://:***@100.64.0.3:30380/0' \
  --from-literal=FDBIZ_JWKS_URI='https://auth.finddatatech.cloud/oidc/jwks' \
  --from-literal=FDBIZ_ISSUER='https://auth.finddatatech.cloud/oidc' \
  --from-literal=FDBIZ_AUDIENCE='https://api.finddatatech.cloud/mcp' \
  --dry-run=client -o yaml | sudo kubectl apply -f -
sudo kubectl -n fd-mcp apply -f k8s/zihan/40-fd-find-data-business-mcp.yaml

Reachable over the mesh at http://100.64.0.4:30803/mcp (zihan NodePort 30803).

Logto: register the API resource

In the Logto admin console (https://auth-admin.finddatatech.cloud), create an API resource with identifier https://api.finddatatech.cloud/mcp (this becomes the aud claim in issued tokens, and must equal FDBIZ_AUDIENCE). Create a client (M2M or first-party SPA) authorized for that audience; paying users' tokens must carry aud: https://api.finddatatech.cloud/mcp.

Publish

Token-based publishing — tag v* triggers .github/workflows/release.yml (build → twine check → wheel smoke test → publish to PyPI via API token). Harbor image built by .github/workflows/docker-publish.yml on push to main / tags.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fd_find_data_business_mcp-0.1.2.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fd_find_data_business_mcp-0.1.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file fd_find_data_business_mcp-0.1.2.tar.gz.

File metadata

File hashes

Hashes for fd_find_data_business_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e5e4d735172d57de4b465b9ede74a2c34c436d36233f9bbbe0070d70970b2b81
MD5 516794de0695336b8c3de2cdc5dfb251
BLAKE2b-256 7fbac68b6a12bfa03511c3174614d9a366ed0850cd0ef783e61eb45e3fb19ecf

See more details on using hashes here.

File details

Details for the file fd_find_data_business_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fd_find_data_business_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca4389d0cad678211e58dc4fb1af66cc04c831415680fdbd7c4344cb246c8bac
MD5 a52685ec7e6fe9724451307d48b124a1
BLAKE2b-256 4bccd0156a3133e7365df557bd6348d44526224f9ea982a21176a3996659f2f8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page