Skip to main content
Python Server is a work in progress.

OpenMCP

OpenMCP

The openmcp.json endpoint provides standardized metadata about your MCP server, allowing clients and tools to discover its capabilities. mcp-use automatically generates this endpoint based on your ServerConfig.

What is OpenMCP?

OpenMCP is a standardized metadata format for MCP servers. It provides a JSON endpoint that describes what tools, resources, and capabilities your server offers.

Why Use OpenMCP?

OpenMCP enables automatic discovery of MCP server capabilities:
  • Client Integration: MCP clients can automatically discover available tools and resources
  • Schema Information: Provides input/output schemas for tools
  • Standardized Format: Consistent format across all MCP servers
  • Easy Discovery: Clients can query /openmcp.json to understand server capabilities

Basic Configuration

from mcp_use.server import MCPServer

server = MCPServer(
    name="my-server",
    version="1.0.0",
    description="My MCP server"
)

@server.tool()
def greet(name: str) -> str:
    """Greet someone with a personalized message."""
    return f"Hello, {name}!"

# The openmcp.json endpoint is automatically available at /openmcp.json

Example Output

{
  "openmcp": "1.0",
  "info": {
    "title": "Example Server",
    "version": "0.1.0",
    "description": "This is an example server with a simple echo tool."
  },
  "capabilities": {
    "experimental": {},
    "logging": null,
    "prompts": {"listChanged": false},
    "resources": {"subscribe": false, "listChanged": false},
    "tools": {"listChanged": false},
    "completions": null
  },
  "tools": [
    {
      "name": "echo",
      "title": "Echo",
      "description": "Echoes back the message you provide.",
      "inputSchema": {
        "properties": {
          "message": {"title": "Message", "type": "string"}
        },
        "required": ["message"],
        "title": "echoArguments",
        "type": "object"
      },
      "outputSchema": {
        "properties": {
          "result": {"title": "Result", "type": "string"}
        },
        "required": ["result"],
        "title": "echoOutput",
        "type": "object"
      }
    }
  ],
  "resources": [],
  "prompts": []
}

Next Steps