mcp-use
Installation
SKILL.md
Test MCP-Use SDK Based Apps
What mcp-use IS vs. What It Is NOT
mcp-use (pip install mcp-use) |
MCP Server SDK (pip install mcp) |
Claude Agent SDK | mcp-use Server SDK (TS/Python) | |
|---|---|---|---|---|
| Purpose | Connect a LangChain LLM to one or more existing MCP servers | Build / expose an MCP server | Build agents using Anthropic's agent framework | Build production MCP servers with built-in transport, sessions, OAuth |
| Key classes | MCPClient, MCPAgent, MCPSession |
Server, StdioServerTransport |
@tool decorator, createSdkMcpServer |
MCPServer, text(), object(), session stores, OAuth providers |
| Tool relationship | Discovers tools from running servers | Defines tools that servers expose | Defines tools for the agent to use | Defines tools via server.tool() / @server.tool() decorators |
| Import | from mcp_use import MCPClient, MCPAgent |
from mcp.server import Server |
N/A (TypeScript SDK) | TS: import { MCPServer } from 'mcp-use/server' / Python: from mcp_use import MCPServer |
| Config | {"mcpServers": {"name": {…}}} dict |
N/A — you write the server code | N/A | Server config object with name, version, sessionStore, OAuth |
Rule of thumb: If the file consumes MCP tools, it should import from mcp_use (client). If it provides MCP tools, it can import from mcp.server (official SDK) or mcp-use/server (mcp-use Server SDK, which wraps the official SDK with production features). Mixing client and server imports in the same file is almost always wrong.
Server Config Schema
The config dict follows the Claude Desktop / Cursor convention. Transport type is auto-detected by key presence.