MCP Quickstart

Start using the Model Context Protocol in minutes. Choose your path based on your role.

For Claude Desktop Users

Connect existing MCP servers with Claude Desktop in minutes

5 min
Step 1

Install Claude Desktop

Download and install Claude Desktop from Anthropic's official website.

Step 2

Configure an MCP Server

Choose a server from our directory and follow the installation instructions.

Step 3

Edit Configuration

Add the server to your Claude Desktop configuration file.

Step 4

Start Using!

Restart Claude Desktop and ask Claude about your data.

Configuration Example

Edit your Claude Desktop configuration file (location varies by OS):

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/directory"
      ]
    }
  }
}

For Server Developers

Create MCP servers that expose your data and tools to LLMs

15 min
Step 1

Install the SDK

Choose Python or TypeScript based on your preference.

Step 2

Create Your First Server

Define resources, tools, or prompts you want to expose.

Step 3

Test Locally

Use the MCP inspector or debugging tools to validate.

Step 4

Share with the Community

Publish your server on GitHub and add it to our directory.

Quick Example: Python Server

from mcp.server import Server
from mcp.types import Tool, TextContent
import mcp.types as types

app = Server("mi-servidor")

@app.list_tools()
async def list_tools() -> list[Tool]:
    return [
        Tool(
            name="get_weather",
            description="Obtiene el clima actual",
            inputSchema={
                "type": "object",
                "properties": {
                    "city": {"type": "string"}
                },
                "required": ["city"]
            }
        )
    ]

@app.call_tool()
async def call_tool(name: str, arguments: dict) -> list[TextContent]:
    if name == "get_weather":
        city = arguments.get("city", "Madrid")
        return [TextContent(
            type="text",
            text=f"El clima en {city} es soleado, 22°C"
        )]
    raise ValueError(f"Tool desconocida: {name}")

if __name__ == "__main__":
    from mcp.server.stdio import stdio_server
    stdio_server(app)
pip install mcpView More Examples

Quick Example: TypeScript Server

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
  CallToolRequestSchema,
  ListToolsRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";

const server = new Server(
  {
    name: "mi-servidor",
    version: "0.1.0",
  },
  {
    capabilities: {
      tools: {},
    },
  }
);

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [
    {
      name: "get_weather",
      description: "Obtiene el clima actual",
      inputSchema: {
        type: "object",
        properties: {
          city: { type: "string" },
        },
        required: ["city"],
      },
    },
  ],
}));

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "get_weather") {
    const city = request.params.arguments?.city || "Madrid";
    return {
      content: [
        {
          type: "text",
          text: `El clima en ${city} es soleado, 22°C`,
        },
      ],
    };
  }
  throw new Error(`Tool desconocida: ${request.params.name}`);
});

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}

main();
npm install @model-context-protocol/sdkView Full Tutorials

For Client Developers

Build applications that connect with MCP servers

20 min
Step 1

Install Client SDK

Use the TypeScript or Python SDK to create your MCP client.

Step 2

Connect with Servers

Establish connections with one or multiple MCP servers.

Step 3

Implement Logic

Integrate tools and resources into your application.

Step 4

Deploy Your Client

Connect your application with available MCP servers.

Example: TypeScript Client

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const client = new Client(
  {
    name: "mi-cliente",
    version: "0.1.0",
  },
  {
    capabilities: {},
  }
);

async function main() {
  const transport = new StdioClientTransport({
    command: "python",
    args: ["-m", "mi_servidor"],
  });

  await client.connect(transport);

  // Listar herramientas disponibles
  const tools = await client.listTools();
  console.log("Herramientas disponibles:", tools);

  // Llamar a una herramienta
  const result = await client.callTool({
    name: "get_weather",
    arguments: { city: "Barcelona" },
  });

  console.log("Resultado:", result);
}

main().catch(console.error);
npm install @model-context-protocol/sdkView More Client Examples

Need More Help?

Explore our complete documentation, tutorials, and community examples.