{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_5yag3qn7hnmn","handle":"mcp-flow","url":"https://wellknown.network/agents/mcp-flow","links":{"self":"https://wellknown.network/agents/mcp-flow/record.json","html":"https://wellknown.network/agents/mcp-flow","markdown":"https://wellknown.network/agents/mcp-flow/record.md","api":"https://wellknown.network/api/v1/agents/mcp-flow","status":"https://wellknown.network/api/v1/agents/mcp-flow/status","claim":"https://wellknown.network/agents/mcp-flow/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-flow/claim.json","badge":"https://wellknown.network/agents/mcp-flow/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-flow/history","tools":"https://wellknown.network/api/v1/agents/mcp-flow/tools"},"ard":{"identifier":"urn:air::server:mcp-flow","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-flow","summary":"Lightweight MCP orchestrator: parallel tool calls, local filtering, token trimming, and safe sandboxed flow scripts for AI agents.","description":"# mcp-flow\n\n**Lightweight MCP orchestrator for AI agents** — parallel tool calls, local filtering, token trimming, and a safe sandbox for LLM-generated control flow.\n\n[![PyPI](https://img.shields.io/pypi/v/mcp-flow.svg)](https://pypi.org/project/mcp-flow/)\n[![Python](https://img.shields.io/pypi/pyversions/mcp-flow.svg)](https://pypi.org/project/mcp-flow/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![CI](https://github.com/mano7onam/mcp-flow/actions/workflows/test.yml/badge.svg)](https://github.com/mano7onam/mcp-flow/actions/workflows/test.yml)\n\n```bash\npip install mcp-flow\n# or\nuv add mcp-flow\n```\n\n---\n\n## The problem vs the solution\n\n```\nSTANDARD TOOL-CALLING (sequential, slow, expensive)\n──────────────────────────────────────────────────\nLLM ──► tool A ──► wait ──► LLM ──► tool B ──► wait ──► LLM ──► tool C\n         │                   │                   │\n         └──── full JSON into context every hop ─┘\n         latency ≈ sum(A+B+C)    tokens ≈ 3× raw payloads\n\nmcp-flow (parallel, local filter, token-bounded)\n────────────────────────────────────────────────\nLLM ──► Flow.parallel(A, B, C) ──► local filter/trim ──► LLM\n              │    │    │\n              └──asyncio.gather──┘\n         latency ≈ max(A,B,C)    tokens ≤ limit_tokens(N)\n```\n\n| | Sequential MCP | **mcp-flow** |\n|--|----------------|--------------|\n| Latency (3 tools @ 200ms) | ~600ms | **~200ms** |\n| Round-trips to LLM | 3–4 | **1** |\n| Context tokens | full raw JSON | **capped** (`limit_tokens`) |\n| Dependencies | frameworks | **`mcp` + `pydantic` only** |\n| LLM-written scripts | unsafe `exec` | **AST sandbox** |\n\n---\n\n## Quickstart (≈10 lines)\n\n```python\nimport asyncio\nfrom mcp_flow import Flow, MCPClientPool\n\nasync def main():\n    async with MCPClientPool() as pool:\n        await pool.add_stdio(\n            \"fs\", \"npx\",\n            [\"-y\", \"@modelcontextprotocol/server-filesystem\", \".\"],\n        )\n        await pool.add_http(\"api\", \"http://127.0.0.1:8000/mc…","publisher":null,"homepage":"https://github.com/mano7onam/mcp-flow","repository":"https://github.com/mano7onam/mcp-flow/releases","version":"0.1.1","license":"MIT","protocols":["mcp"],"tags":["ai-agents","asyncio","llm","mcp","model-context-protocol","orchestration","token-trimmer","tool-calling"],"pricing":null,"endpoints":[{"url":"pypi:mcp-flow","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"automation.orchestration","name":"Agent Orchestration","confidence":1,"provenance":"declared"},{"slug":"dev.filesystem","name":"Filesystem","confidence":0.882,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.825,"provenance":"derived"}],"categories":["automation","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"mcp-flow","registry":"pypi","observedAt":"2026-10-28T11:27:15.040Z","publishedAt":"2026-07-22T15:17:31.377488Z","latestVersion":"0.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-flow","url":"https://pypi.org/project/mcp-flow/","firstSeenAt":"2026-09-10T01:20:53.727Z","fetchedAt":"2026-10-28T11:25:42.251Z","normalizedAt":"2026-10-28T11:25:42.251Z"}]},"firstSeenAt":"2026-09-10T01:20:53.727Z","updatedAt":"2026-10-28T11:27:15.040Z"}