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 (RS256 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)

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.0.tar.gz (7.2 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.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for fd_find_data_business_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c9e58b540e05dbcad8679b1124846797d211d7640641279f32b72ec59c7f9902
MD5 46337fef3ff57e879ecdbf526e138574
BLAKE2b-256 c7f9c4dfa19e44c4152ba17047b8dde6fc29449422f340193916c405fa2fda89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fd_find_data_business_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2295448dfcd7b0eab0a1bb2beba068c9318241a42a7f6c734cbab9fa5ea500b2
MD5 4d9a21808343dc7a2106880baef22092
BLAKE2b-256 088aaffb24d71d57c3d2a5b3a61eaf5fc2cbbf83543eb98f4d32ff7519500d22

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

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