Remote-MCP

by RemoteMCP
MIT License

Integrations

  • Supports deploying the remote MCP server on Cloudflare Workers, allowing for globally distributed MCP functionality with low latency

  • Planned integration with NestJS framework mentioned in the roadmap for enhanced server-side implementation options

  • Provides a standalone Node.js implementation option for hosting the remote MCP server

Remote-MCP: Protocolo de contexto de modelo remoto

Una solución simple, bidireccional y segura para la comunicación MCP remota , que permite el acceso remoto y la gestión centralizada de los contextos del modelo.

Arquitectura

¿Por qué hice esto (ahora)?

Sí, sé que la hoja de ruta oficial de MCP incluye compatibilidad con MCP remoto en el primer trimestre de 2025. Sin embargo, la necesidad de acceso remoto fue inmediata para mí, y probablemente para muchos otros. Esta biblioteca se creó para cubrir esa necesidad, ofreciendo una forma de conectarse a un servidor MCP remoto desde un cliente MCP local de inmediato , sin esperar futuras implementaciones oficiales.

Nota: No quiero que esto sea algo sofisticado ni demasiado complicado. De momento, este método funciona .

Empezando

Nota: Este proyecto se encuentra actualmente en desarrollo y se considera experimental. Se prevén cambios importantes y posibles problemas.

Uso del cliente

Utilice un paquete publicado públicamente

Simplemente coloque el siguiente código en la configuración de su cliente MCP, aquí estoy usando a Claude como ejemplo:

{ "mcpServers": { "remote-mcp": { "command": "npx", "args": ["-y", "@remote-mcp/client"], "env": { "REMOTE_MCP_URL": "http://localhost:9512", "HTTP_HEADER_Authorization": "Bearer <token>" } } } }

Codifique su propio servidor MCP local

Requisitos de instalación:

$ npm install @remote-mcp/client @trpc/client@next zod

Luego escribe tu propio código como el siguiente:

import { RemoteMCPClient } from "@remote-mcp/client"; const client = new RemoteMCPClient({ remoteUrl: "http://localhost:9512", onError: (method, error) => console.error(`Error in ${method}:`, error) }); void client.start();

Uso del servidor (implementación de MCP remoto)

Puedes ver algunos ejemplos en el directorio de examples .

Codifique su propio servidor MCP remoto

Después de npm install @remote-mcp/server , puede crear su propio servidor MCP remoto como el siguiente:

import { MCPRouter, LogLevel } from "@remote-mcp/server"; import { createHTTPServer } from '@trpc/server/adapters/standalone'; import { z } from "zod"; // Create router instance const mcpRouter = new MCPRouter({ logLevel: LogLevel.DEBUG, name: "example-server", version: "1.0.0", capabilities: { logging: {}, }, }); // Add example tool mcpRouter.addTool( "calculator", { description: "Perform basic calculations. Add, subtract, multiply, divide. Invoke this every time you need to perform a calculation.", schema: z.object({ operation: z.enum(["add", "subtract", "multiply", "divide"]), a: z.string(), b: z.string(), }), }, async (args) => { const a = Number(args.a); const b = Number(args.b); let result: number; switch (args.operation) { case "add": result = Number(a) + b; break; case "subtract": result = a - b; break; case "multiply": result = a * b; break; case "divide": if (b === 0) throw new Error("Division by zero"); result = a / b; break; } return { content: [{ type: "text", text: `${result}` }], }; }, ); const appRouter = mcpRouter.createTRPCRouter(); void createHTTPServer({ router: appRouter, createContext: () => ({}), }).listen(Number(process.env.PORT || 9512));

Luego podrás ver algo como lo siguiente en tu cliente MCP:

Paquetes

Este repositorio contiene:

  • @remote-mcp/client : biblioteca cliente que actúa como un servidor MCP local y se conecta a una implementación remota.
  • @remote-mcp/server : biblioteca de servidor para crear servicios MCP accesibles de forma remota (utilizada como implementación remota).

Hoja de ruta

Características principales

  • [x] Comunicación básica cliente/servidor con seguridad de tipos
    • [x] Soporte básico de comandos MCP
    • [x] Soporte básico de herramientas MCP
    • [x] Soporte básico de indicaciones de MCP
    • [ ] Manejo seguro ante accidentes (WIP, máxima prioridad)
  • [ ] Sistema completo de suscripción a eventos
    • [ ] Notificaciones de cambios de recursos
    • [ ] Notificaciones de cambios en la lista de herramientas/mensajes
  • [ ] Compatibilidad con encabezados HTTP
    • [x] Encabezados personalizados
    • [ ] Middleware de autenticación
  • [ ] Mejoras básicas en el manejo de errores
  • [ ] Soporte básico de middleware

Soporte del marco

  • [ ] Integración con Nest.js ( @remote-mcp/nestjs )

Funciones avanzadas

  • [ ] Comunicación bidireccional
    • [ ] Solicitudes de servidor a cliente
    • [ ] Intercambio de recursos entre servidor/cliente
  • [ ] Monitoreo y registro básicos

Contribuir

Se agradecen las contribuciones. Para más detalles, consulte CONTRIBUTING.md .

Descargo de responsabilidad

Esta biblioteca es una extensión complementaria, no parte de la especificación oficial de MCP, construida sobre conceptos de MCP existentes.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.

Referencias

-
security - not tested
A
license - permissive license
-
quality - not tested

Una solución de tipo seguro que permite el acceso remoto a los servicios del Protocolo de contexto de modelo (MCP), lo que permite a los clientes conectarse a implementaciones de MCP centralizadas sin esperar soporte remoto oficial.

  1. Architecture
    1. Why I Made This (Now)
      1. Getting Started
        1. Client Usage
          1. Use Publicly Published Package
          2. Code Your Own Local MCP Server
        2. Server Usage (Remote MCP Implementation)
          1. Code Your Own Remote MCP Server
        3. Packages
          1. Roadmap
            1. Core Features
            2. Framework Support
            3. Advanced Features
          2. Contribute
            1. Disclaimer
              1. License
                1. References

                  Related MCP Servers

                  • A
                    security
                    A
                    license
                    A
                    quality
                    A beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.
                    Last updated -
                    3
                    9
                    36
                    JavaScript
                    Apache 2.0
                  • A
                    security
                    F
                    license
                    A
                    quality
                    A Model Context Protocol (MCP) server that provides a simple sleep/wait tool, useful for adding delays between operations such as waiting between API calls or testing eventually consistent systems.
                    Last updated -
                    1
                    6
                    7
                    JavaScript
                  • -
                    security
                    -
                    license
                    -
                    quality
                    A specialized server that helps users create new Model Context Protocol (MCP) servers by providing tools and templates for scaffolding projects with various capabilities.
                    Last updated -
                    1
                    TypeScript
                  • -
                    security
                    -
                    license
                    -
                    quality
                    A Model Context Protocol (MCP) server that interacts with system APIs, allowing users to check connections, search employees, register breakfast, and update chemical information by shifts.
                    Last updated -
                    2

                  View all related MCP servers

                  ID: ov5c745xe1