Plug Dynamic Feed into any agent.
One remote MCP endpoint gives an agent the current public catalogue of live evidence tools. Successful responses expose named sources, observation times and freshness; supported receipt paths also issue signed receipts.
https://dynamicfeed.ai/mcp , auto-detects Streamable HTTP & legacy SSE. No API key.MCP clients, one config
Claude Desktop, Cursor, Cline, Windsurf and any MCP client. Add this and restart:
{
"mcpServers": {
"dynamic-feed": { "url": "https://dynamicfeed.ai/mcp" }
}
}
Prefer a local command? (firewalls/VPNs that block remote streams)
npx -y dynamicfeed-mcp # Node
uvx dynamicfeed-mcp # Python
Use a focused MCP collection
Use /mcp when an agent needs the full public catalogue. For a narrower job, point the same client configuration at one centrally defined collection:
https://dynamicfeed.ai/mcp/security
https://dynamicfeed.ai/mcp/weather
https://dynamicfeed.ai/mcp/space
https://dynamicfeed.ai/mcp/infrastructure
https://dynamicfeed.ai/mcp/ai-models
https://dynamicfeed.ai/mcp/evidence
A smaller catalogue sends fewer tool descriptions into the model context. That can reduce prompt-token use and tool-selection ambiguity. Collections are filtered views of the same canonical registry, not separate copied servers; /mcp continues to expose the full public catalogue.
Frameworks
LangChain, langchain-mcp-adapters
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({"dynamic-feed": {
"url": "https://dynamicfeed.ai/mcp", "transport": "streamable_http"}})
tools = await client.get_tools()
LlamaIndex, llama-index-tools-mcp
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
spec = McpToolSpec(client=BasicMCPClient("https://dynamicfeed.ai/mcp"))
tools = await spec.to_tool_list_async()
Vercel AI SDK (v6), @ai-sdk/mcp
import { createMCPClient } from '@ai-sdk/mcp';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const transport = new StreamableHTTPClientTransport(new URL('https://dynamicfeed.ai/mcp'));
const mcp = await createMCPClient({ transport });
const tools = await mcp.tools();
OpenAI Agents SDK
from agents.mcp import MCPServerStreamableHttp
server = MCPServerStreamableHttp(params={"url": "https://dynamicfeed.ai/mcp"})
Pydantic AI
from pydantic_ai.mcp import MCPServerStreamableHTTP
server = MCPServerStreamableHTTP("https://dynamicfeed.ai/mcp")
ChatGPT / Custom GPT, Actions
In the GPT builder → Create new action → Import from URL, paste the agent-ready OpenAPI. Every operation is a GET flagged non-consequential (no confirmation prompts).
https://dynamicfeed.ai/openapi-agent.json
REST API
Prefer plain HTTP? The keyless batch sandbox accepts small, read-only test batches at /v1/batch. Documented direct REST routes use X-API-Key for keyed access.
curl -s https://dynamicfeed.ai/v1/batch \
-H 'Content-Type: application/json' \
-d '{"calls":[{"tool":"current_weather","args":{"city":"Tokyo"}}]}'
Access policy
| Interface | Endpoint | Access | Use | Limit |
|---|---|---|---|---|
| MCP | /mcp | Keyless | Public read-only access | No per-key quota; subject to service availability |
| REST batch | /v1/batch | Keyless | Testing and low-volume read-only batch access | Maximum 20 calls per request |
| Direct REST | Documented keyed routes | X-API-Key | Direct endpoint access with usage accounting | Plan quota applies |
| x402 | /v1/pro/* | x402 payment | Machine-paid access on eligible premium endpoints | Per-call terms are returned with HTTP 402 |
| Enterprise | /enterprise | Commercial terms | Discuss operating, support, and integration requirements | Published or agreed service terms apply |