How We Deployed MCP-to-MCP Communications in Seren's MCP Server
Publishers can now connect their MCP servers directly to Seren—no REST APIs, no webhook plumbing, just native MCP protocol with pay-per-call built in.

Why We Built This
We launched Seren MCP Server to connect AI agents with data publishers. Our initial design routed everything through REST APIs—agents called our MCP server, we translated to HTTP, forwarded to upstream APIs, and passed responses back.
It worked. But when we onboarded new publishers, we kept hearing the same feedback:
We already have an MCP server. Can't you just talk to it directly?
Fair point. These publishers had invested in building proper MCP servers with typed tool schemas, streaming support, and structured resources. Forcing them through a REST translation layer meant losing all that.
So we built MCP-to-MCP.

The Architecture Change
The key insight: Seren becomes an MCP-aware proxy, not a protocol translator.

When an agent calls call_mcp_tool(publisher="my-mcp-service", tool_name="analyze"), Seren:
- Authenticates the agent (OAuth or x402 signatures)
- Opens an MCP connection to the publisher's endpoint
- Forwards the tools/call request natively
- Records the call for billing
- Streams the response back to the agent
No REST translation. No JSON schema mismatches. The publisher's tool schemas flow through unchanged.
What Publishers Get
Native MCP protocol. Your existing MCP server works as-is. If you built it with FastMCP or the official mcp-sdk, you're ready.
Instant monetization. Set a price per tool call. Seren handles billing, settlement, and payment disputes. You get paid in USDC to your wallet.
Discovery. Agents find your tools via list_mcp_tools. Your tool descriptions become your marketing copy.
No API key management. Seren handles agent authentication. You just serve MCP requests.
Registering Your MCP Server
Here's the complete flow to publish your MCP server on Seren:
1# 1. Register as an MCP publisher
2curl -X POST "https://api.serendb.com/agent/publishers" \
3 -H "Authorization: Bearer $SEREN_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{
6 "name": "My Analysis Service",
7 "slug": "my-analysis-service",
8 "publisher_category": "integration",
9 "integration_type": "mcp",
10 "mcp_endpoint": "https://mcp.myservice.com/mcp",
11 "wallet_address": "0x...",
12 "wallet_network_id": "eip155:8453"
13 }'
14
15# 2. Configure pricing
16curl -X PUT "https://api.serendb.com/agent/publishers/my-analysis-service/pricing" \
17 -H "Authorization: Bearer $SEREN_API_KEY" \
18 -d '{"price_per_call": "0.01", "prepaid_enabled": true}'That's it. Agents can now discover and call your tools with list_mcp_tools and call_mcp_tool.
How Agents Use MCP Publishers
From the agent's perspective, MCP publishers are first-class citizens:
1# Agent discovers your tools
2tools = seren.list_mcp_tools(publisher="my-analysis-service")
3# Returns: [{"name": "analyze_data", "description": "...", "inputSchema": {...}}]
4
5# Agent calls your tool
6result = seren.call_mcp_tool(
7 publisher="my-analysis-service",
8 tool_name="analyze_data",
9 arguments={"data": [1, 2, 3, 4, 5]}
10)
11# Charges $0.01 to agent's SerenBucks balanceResources work too. If your MCP server exposes resources, agents read them via read_mcp_resource.

Supported MCP Capabilities
- Tools: list, call, streaming
- Resources: list, read, subscribe
- Prompts: list, get
Sampling: Not yet supported (v2 roadmap)
Technical Requirements
Your MCP server must:
Use HTTP/SSE transport (Streamable HTTP). Stdio won't work—we need network connectivity.
Be publicly accessible. Seren's gateway connects from our infrastructure.
Support standard MCP methods. At minimum: tools/list and tools/call.
Most MCP frameworks handle this out of the box. Here's a minimal FastMCP example:
1from fastmcp import FastMCP
2
3mcp = FastMCP("My Service")
4
5@mcp.tool()
6def analyze_data(data: list[float]) -> dict:
7 """Analyze numerical data and return statistics."""
8 return {"mean": sum(data) / len(data), "count": len(data)}
9
10if __name__ == "__main__":
11 mcp.run(transport="sse", port=8000)Deploy this anywhere—Fly.io, Railway, your own VPS—and register the endpoint with Seren.
What's Next
We're seeing publishers migrate from REST-based integrations to native MCP. The developer experience is better: no schema translation, proper streaming, typed tool signatures.
If you're building an MCP server and want to monetize it, check out our MCP Publisher Guide. It covers authentication options, pricing models, and troubleshooting.
For agents, MCP publishers appear alongside our database and API publishers. Call list_agent_publishers to see everything available.
Get Started
What is Seren? serendb.com
MCP Publisher Guide: docs.serendb.com/guides/mcp-publishers
Full API Docs: docs.serendb.com
Sign Up Free: console.serendb.com
MCP Specification: modelcontextprotocol.io
Questions? Drop them in comments or join our Discord.

About Taariq Lewis
Exploring how to make developers faster and more productive with AI agents
Related Posts

How AI Agents Can Now Manage Your CRM: Introducing Attio on Seren MCP
Your AI agent can now source prospects from Crunchbase and Apollo, enrich them with company intelligence, and automatically populate your Attio CRM—all through Seren MCP.
Software Sales Is Dead: AI Killed Your Career While You Were Making Quota
If you are in Software Sales, your career is over. AI killed it while you were busy making quota. Here's how to survive as an Agentic Account Executive.

How to Bulk Up Your AI Agents in 90 Seconds with Seren MCP
Give your AI assistant superpowers: access to 75+ data publishers, web scrapers, financial APIs, and more—all with a single command.
