Skip to main content
Glama
flo-distrify

Distrify Network MCP server

Official
by flo-distrify

Distrify Network MCP server

A FastMCP runtime that lets AI tools (Claude, ChatGPT) search electronic components, prices and availability across the Distrify distributor network through one connection — discovering distributors, requesting access, and federating a single query across every distributor the user can access.

This is the protocol + routing plane. It is deliberately separate from:

  • the per-distributor public REST API (the unchanged data plane it calls), and

  • the existing Distrify Hub (the automates ERP instance for usage/event telemetry) — unrelated and untouched.

Identity, the distributor directory and access grants live in a separate Frappe "MCP management" instance (distrify_mcp_mgmt), reached over a service-token API.

Architecture

Claude / ChatGPT
   │  Streamable HTTP /mcp  +  OAuth 2.1 (DCR via FastMCP OAuth Proxy)
   ▼
distrify-mcp-server  (this repo — Python/FastMCP, dedicated vserver)
   - tools: list_distributors, request_distributor_access, search/fetch,
     search_components, get_price, get_availability, get_datasheet
   - federated router (parallel fan-out, merge, partial-on-rate-limit)
   │  reads directory + grants (service token)        │ outbound X-DISTRIFY-* headers
   ▼                                                   ▼
Frappe "MCP management" instance              distributor PUBLIC API /api/v1/...
   (directory, network users, grants, OAuth AS)   (search_keyword, get_product_detail,
                                                   get_component_pricing — list + custom)

Related MCP server: SheetsData MCP

Layout

Path

Purpose

src/distrify_mcp/server.py

FastMCP app + tool definitions + entrypoint

src/distrify_mcp/router.py

Distributor public-API client + federated fan-out

src/distrify_mcp/mgmt_client.py

Client for the Frappe management service API (+ dev fallback)

src/distrify_mcp/normalize.py

Tolerant extractors for public-API payloads

src/distrify_mcp/config.py

Env-sourced settings (DISTRIFY_MCP_*)

Dockerfile, .github/workflows/build.yml

Containerization + GHCR publish for Watchtower

deploy/docker-compose.yml

vserver stack (service + Watchtower auto-update)

Local development

pip install -e ".[dev]"
cp .env.example .env          # set DEV_CLIENT_ID / DEV_API_KEY from an API Key Management doc
distrify-mcp                  # serves Streamable HTTP at http://localhost:8000/mcp

Inspect the tools without an AI client:

npx @modelcontextprotocol/inspector
# connect to http://localhost:8000/mcp (Streamable HTTP)

Status

Read-only MVP, built in stages (see the plan). dev_mode runs against a single hardcoded distributor until the management service API and OAuth are wired in. OAuth (FastMCP OAuth Proxy → Frappe management IdP) and the management API are tracked as follow-up work.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flo-distrify/distrify-mcp-runtime'

If you have feedback or need assistance with the MCP directory API, please join our Discord server