Servidor MCP de Monad
Este servidor MCP (Protocolo de Contexto de Modelo) está diseñado para interactuar con la red de pruebas Monad. Ofrece un conjunto de herramientas y capacidades para que los desarrolladores interactúen con la blockchain Monad, incluyendo la consulta de saldos de tokens MON, el envío de transacciones, la implementación de contratos inteligentes y la monitorización de eventos de la blockchain.
¿Qué es MCP?
El Protocolo de Contexto de Modelo (MCP) es una interfaz estandarizada que permite que los modelos de IA interactúen de forma segura y eficaz con herramientas, servicios y fuentes de datos externos. Este servidor implementa MCP para exponer las funcionalidades de la cadena de bloques Monad a agentes o aplicaciones de IA compatibles.
Estructura del proyecto
El proyecto está organizado de la siguiente manera:
Componentes clave
src/index.ts
: Este es el punto de entrada principal del servidor. Inicializa la instancia del servidor MCP y registra todas las herramientas disponibles (billetera, contrato, NFT, bloque).src/config/server.ts
: Este archivo gestiona la configuración principal del servidor. Configura la instanciaMcpServer
con su nombre, versión y una lista de capacidades. También inicializa el cliente públicoViem
para interactuar con la red de pruebas Monad y proporciona una función para crear un cliente de billetera deViem
usando una clave privada a partir de variables de entorno. El servidor utilizaStdioServerTransport
para la comunicación.src/tools/
: Este directorio contiene las implementaciones de diversas herramientas MCP. Cada subdirectorio suele centrarse en un aspecto específico de la interacción con Monad:walletProvider
: administra los saldos y transacciones de tokens MON.contractProvider
: maneja la implementación de contratos inteligentes y la observación de eventos.nftProvider
: proporciona funcionalidad para consultar NFT en la red Monad.blockProvider
: ofrece herramientas para recuperar información de bloques.
Prerrequisitos
Antes de comenzar, asegúrese de tener instalado lo siguiente:
- Node.js (versión 16 o posterior)
- Un administrador de paquetes Node.js:
npm
,yarn
opnpm
(este proyecto usapnpm
en sus ejemplos) - Claude Desktop (o cualquier cliente compatible con MCP) para interactuar con el servidor.
Variables de entorno (.env)
Este proyecto utiliza variables de entorno para administrar información confidencial, principalmente la clave privada de su cuenta Monad.
- Copie el archivo de ejemplo : Cree una copia de
.env.example
y cámbiele el nombre a.env
. - Editar
.env
: abre el archivo.env
recién creado en un editor de texto. - Establecer
PRIVATE_KEY
: Complete la variablePRIVATE_KEY
con la clave privada de su cuenta Monad. Esta clave es necesaria para operaciones como enviar transacciones o implementar contratos.Importante : asegúrese de que su clave privada comience con0x
. - Seguridad : Nunca envíes tu archivo
.env
a un repositorio de Git. El archivo.gitignore
ya está configurado para evitarlo, pero siempre recuerda proteger tus claves privadas.
Empezando
Siga estos pasos para configurar y ejecutar el servidor Monad MCP:
- Clonar el repositorio :Si aún no lo has hecho, clona el proyecto desde GitHub:
- Instalar dependencias :Utilice
pnpm
(o su administrador de paquetes preferido) para instalar las dependencias del proyecto enumeradas enpackage.json
: - Construir el proyecto :El servidor está escrito en TypeScript y debe compilarse en JavaScript. Ejecute el script de compilación:Este comando utilizará
tsc
(el compilador de TypeScript) como se define enpackage.json
para compilar los archivos fuente del directoriosrc
en el directoriobuild
.
El servidor ya está construido y listo para ser utilizado por un cliente MCP.
Capacidades del servidor
Como se define en src/config/server.ts
, el servidor expone las siguientes capacidades:
get-mon-balance
: recupera el saldo del token MON de una cuenta.send-mon-transaction
: envía tokens MON de una cuenta a otra.deploy-mon-contract
: implementa un contrato inteligente en la red de prueba Monad.watch-contract-events
: supervisa y reporta eventos emitidos por un contrato inteligente específico.query-mon-nft
: consulta información sobre tokens no fungibles en la red Monad.get-latest-block
: obtiene detalles del bloque más reciente en la red de pruebas Monad.get-block-by-number
: recupera un bloque específico por su número de bloque.
Cómo agregar la configuración del servidor MCP a su cliente
Para usar este servidor con un cliente compatible con MCP (como Claude Desktop), deberá agregar su configuración a la configuración del cliente. El método exacto puede variar según el cliente, pero normalmente implica especificar cómo ejecutar el servidor.
A continuación se muestra un fragmento de configuración de ejemplo:
Explicación de los campos de configuración :
"monad-mcp"
: un nombre único que usted asigna a esta configuración de servidor dentro de su cliente."command": "node"
: especifica que el servidor es una aplicación Node.js."args"
: una matriz de argumentos para pasar al comandonode
.- El primer argumento es la ruta al punto de entrada compilado del servidor:
/absolute/path/to/your/project/monad-mcp-server/build/index.js
. Reemplace/absolute/path/to/your/project/
con la ruta absoluta real donde clonó el repositoriomonad-mcp-server
.
- El primer argumento es la ruta al punto de entrada compilado del servidor:
"env"
: un objeto para establecer variables de entorno para el proceso del servidor."PRIVATE_KEY"
: Puede configurar su clave privada aquí. Sin embargo, generalmente se recomienda usar el archivo.env
para mayor seguridad. Si se configura aquí, podría sobrescribir el valor en.env
dependiendo del comportamiento del cliente y del orden de carga de las variables de entorno del servidor.
Nota : asegúrese de que la ruta en "args"
sea correcta y apunte al archivo build/index.js
dentro del directorio de su proyecto.
Más recursos
Para obtener información más detallada sobre las tecnologías utilizadas y los conceptos involucrados, consulte la siguiente documentación oficial:
- Documentación del Protocolo de Contexto de Modelo (MCP)
- Documentación de Monad
- Documentación de Viem (Viem es la biblioteca cliente de Ethereum/Monad utilizada en este proyecto)
Este completo archivo README debería proporcionar una comprensión sólida del servidor Monad MCP, su configuración y uso.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Un servidor de protocolo de contexto de modelo que permite que los modelos de IA interactúen con la red de pruebas Monad para verificar saldos de tokens, enviar transacciones e implementar contratos inteligentes.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, providing services like token transfers, contract interactions, and ENS resolution through a unified interface.Last updated -28230252TypeScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.Last updated -JavaScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI agents to interact with the Flow blockchain through RPC calls, supporting account balances, script execution, transactions, domain resolution, and contract interactions.Last updated -82JavaScript
- -securityAlicense-qualityA production-ready Model Context Protocol server implementation that connects AI assistants to the TON blockchain, allowing them to query wallet balances, transaction details, smart contracts, and other blockchain data.Last updated -TypeScriptMIT License