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.1.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.1-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.1.tar.gz.

File metadata

File hashes

Hashes for fd_find_data_business_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3289c046f52e4a1a39cbff65638fb3a5ca17969c928ed814f23ecb1fda9afc09
MD5 c6339df9b4e596e13503fdb706db8755
BLAKE2b-256 06c84b38ddfebfa012ad3aade4b6bdca56e24a022cb9581915ca882da2eafe2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fd_find_data_business_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d98f41508cbb41afeb8ad984618d2d739d5b58253139f9a3878f7c59de5f71b0
MD5 0abf287f52d042bbecad1aa9eeb87784
BLAKE2b-256 7e325d0adf8861bc7efb7bcca11544d29dfb2c9c596ac225b1bddc301b384a7c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.1 This release

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