Skip to content
Back to the catalog
Project mcp-serverNetworkingIntermediateBeta

Un servidor MCP

Construye un servidor Model Context Protocol desde cero con JSON-RPC, herramientas y recursos.

Build it in your language

The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.

Guide language

The stage guides read in this language. Only languages this project is fully translated into show up here; the interface language does not change.

What this project is about

MCP permite que aplicaciones y agentes descubran capacidades mediante un protocolo común. En este proyecto implementarás el servidor, no una integración con un SDK.

Procesarás un mensaje JSON por línea desde stdin y emitirás respuestas JSON compactas por stdout. Avanzarás desde el handshake hasta herramientas, recursos y errores de protocolo reproducibles.

Roadmap

5 stages across 3 phases. Every stage comes with its guide and its tests: you move on when they pass.

  1. Phase 12 stages

    Núcleo del protocolo

    Establece el transporte NDJSON, JSON-RPC y la negociación inicial de MCP.

    1. 01Habla JSON-RPC
    2. 02Negocia la sesión MCP
  2. Phase 22 stages

    Capacidades útiles

    Publica herramientas y recursos que un cliente puede descubrir y utilizar.

    1. 01Publica y ejecuta herramientas
    2. 02Expone recursos
  3. Phase 31 stage

    Servidor robusto

    Completa el servidor con validación, notificaciones y errores estándar.

    1. 01Endurece el protocolo

Before you start

Un servidor MCP local que negocia su versión, anuncia capacidades, enumera y ejecuta herramientas, expone recursos de texto y devuelve errores JSON-RPC bien formados.

  • bittorrent
    Beta

    A BitTorrent client

    Bencode, trackers and the peer-to-peer protocol. Download a real file by talking to real peers.

    Advanced12 stages~20 hNetworking
    bencodep2pprotocolos+1

    Go · Python · Java

  • dns-resolver
    Beta

    A DNS resolver

    Build and parse UDP packets bit by bit. Resolve names by walking the hierarchy from the root servers.

    Intermediate8 stages~9 hNetworking
    udpbinarioprotocolos

    Go · Rust · Python

  • http-server
    Beta

    An HTTP server from the socket up

    From raw bytes to a 200 response. Parse requests, manage connections and serve concurrent traffic.

    Intermediate10 stages~12 hNetworking
    socketstcphttp+1

    Go · Python · C · Rust