Build and deploy MCP agents

Spin-up and aggregate MCP servers through a single endpoint and zero friction.

Github
Google Drive
Google Drive
Mem0AI
Your MCP Server
Slack
Slack

Library used by devs from

6sense Logo
Elastic Logo
IBM Logo
Innovacer Logo
Intuit Logo
NVIDIA Logo
Oracle Logo
Red Hat Logo
Tavily Logo
Verizon Logo
6sense Logo
Elastic Logo
IBM Logo
Innovacer Logo
Intuit Logo
NVIDIA Logo
Oracle Logo
Red Hat Logo
Tavily Logo
Verizon Logo

Vercel for MCP

1-click deploy MCP servers and aggregate them through a single endpoint

# Connect to remote server pool
client = MCPClient(server_pool="marketing_servers")
# Use any model you like
llm = AnyModelProvider(model="any-4o", api_key=...)
# Create agent with tools
agent = MCPAgent(llm=llm, client=client, max_steps=30)
# Run the query
result = await agent.run("Create a post about our latest release")
class MCPClient:
def __init__(self):
# Initialize session and client objects
self.session: Optional[ClientSession] = None
self.exit_stack = AsyncExitStack()
self.anthropic = Anthropic()
# methods will go here
async def connect_to_server(self, server_script_path: str):
is_python = server_script_path.endswith('.py')
is_js = server_script_path.endswith('.js')
if not (is_python or is_js):
raise ValueError("Server script must be a .py or .js file")
command = "python" if is_python else "node"
server_params = StdioServerParameters(
command=command,
args=[server_script_path],
env=None
)
stdio_transport = await self.exit_stack.enter_async_context(stdio_client(server_params))
self.stdio, self.write = stdio_transport
self.session = await self.exit_stack.enter_async_context(ClientSession(self.stdio, self.write))
await self.session.initialize()
# List available tools
response = await self.session.list_tools()
tools = response.tools
print("\nConnected to server with tools:", [tool.name for tool in tools])
async def process_query(self, query: str) -> str:
"""Process a query using Claude and available tools"""
messages = [
{
"role": "user",
"content": query
}
]
response = await self.session.list_tools()
available_tools = [{
"name": tool.name,
"description": tool.description,
"input_schema": tool.inputSchema
} for tool in response.tools]
# Initial Claude API call
response = self.anthropic.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1000,
messages=messages,
tools=available_tools
)
# Process response and handle tool calls
final_text = []
assistant_message_content = []
for content in response.content:
if content.type == 'text':
final_text.append(content.text)
assistant_message_content.append(content)
elif content.type == 'tool_use':
tool_name = content.name
tool_args = content.input
# Execute tool call
result = await self.session.call_tool(tool_name, tool_args)
final_text.append(f"[Calling tool {tool_name} with args {tool_args}]")
assistant_message_content.append(content)
messages.append({
"role": "assistant",
"content": assistant_message_content
})
messages.append({
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": content.id,
"content": result.content
}
]
})
# Get next response from Claude
response = self.anthropic.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1000,
messages=messages,
tools=available_tools
)
final_text.append(response.content[0].text)
return "
".join(final_text)
MCP Agent & Client SDK

MCP agent in 3 lines

Install the OSS mcp-use library and turn any MCP call into an AI agent. Just pass the an ID or URL and the SDK pulls MCP servers config and streams results out of the box.

Auth
Security
Servers
Pool
mcp-use gateway
MCP servers routing
Cache
Memory
Monitor
Metrics
MCP Gateway

One endpoint for every MCP server

The managed MCP gateway routes, authenticates, and load-balances all your servers. Hosted, ephemeral, or on-prem. Built-in OAuth, ACLs, metrics, and tracing give you production-grade observability from day one.

Stdio MCP servers

Hosted short-lived MCP servers

VM

Third-party MCP servers

External remote services

Cloud

Your MCP servers

Managed or self-hosted

mcp-use hosting

MCP Servers

Spin up, plug in, or bring your own

Deploy fully managed MCP servers in our cloud, sandbox local VMs on demand, or proxy third-party servers behind the gateway, all managed in one dashboard.

The control plane for MCP

All your MCP infrastructure in one place

Clients
Claude Desktop
Your AI product
MCP client
pip install mcp-use
npm install mcp-use
ChatGPT
Auth
Security
Servers
Pool
mcp-use gateway
MCP servers routing
Cache
Memory
Monitor
Metrics
Execution
Third-party MCP servers
External remote services
Cloud
Your MCP servers
Managed or self-hosted
mcp-use hosting
Stdio MCP servers
Hosted short-lived MCP servers
VM