Skip to main content
Glama

Remote-MCP Server

by ssut

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.

avance

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Permite una comunicación bidireccional y segura con los servicios del Protocolo de Contexto de Modelo, lo que permite la gestión centralizada de los contextos de modelo a través de HTTP.

  1. Arquitectura
    1. ¿Por qué hice esto? (ahora)
      1. Empezando
        1. Uso del cliente
          1. Utilice un paquete publicado públicamente
          2. Codifique su propio servidor MCP local
        2. Uso del servidor (implementación de MCP remoto)
          1. Codifique su propio servidor MCP remoto
        3. Paquetes
          1. Hoja de ruta
            1. Características principales
            2. Soporte del marco
            3. Funciones avanzadas
          2. Contribuir
            1. Descargo de responsabilidad
              1. Licencia
                1. Referencias

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    Provides a scalable, containerized infrastructure for deploying and managing Model Context Protocol servers with monitoring, high availability, and secure configurations.
                    Last updated -
                  • -
                    security
                    F
                    license
                    -
                    quality
                    Enables seamless integration with Typecast API through the Model Context Protocol, allowing clients to manage voices, convert text to speech, and play audio in a standardized way.
                    Last updated -
                    2
                    Python
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A type-safe solution that enables remote access to Model Context Protocol (MCP) services, allowing clients to connect to centralized MCP implementations without waiting for official remote support.
                    Last updated -
                    TypeScript
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A Model Context Protocol server that provides AI models with structured access to external data and services, acting as a bridge between AI assistants and applications, databases, and APIs in a standardized, secure way.
                    Last updated -
                    1
                    Python

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssut/Remote-MCP'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server