Skip to main content
Glama

WASM MCP Server

by beekmarks

Servidor WASM MCP

Implementación de prueba de concepto de un servidor de Protocolo de Contexto de Modelo (MCP) que se ejecuta en WebAssembly (WASM) dentro de un navegador web. Este proyecto demuestra la integración de herramientas y recursos de MCP en un entorno de navegador.

Características

Herramienta calculadora

  • Realiza operaciones aritméticas básicas (suma, resta, multiplicación, división)
  • Validación de entrada y manejo de errores
  • Resultados de cálculos en tiempo real

Sistema de almacenamiento

  • Funcionalidad de almacenamiento de clave-valor
  • Establecer y recuperar valores utilizando claves de cadena
  • Almacenamiento persistente dentro de la sesión del navegador
  • Manejo de recursos basado en plantillas

Implementación técnica

Componentes del servidor

  • server.ts : Implementación del servidor MCP principal con definiciones de herramientas y recursos
  • main.ts : Integración del lado del cliente y manejo de la interacción de la interfaz de usuario
  • browser-transport.ts : Capa de transporte personalizada para la comunicación del navegador

Arquitectura

  • Utiliza el SDK del Protocolo de Contexto de Modelo para la implementación del servidor
  • Implementa una capa de transporte de navegador personalizada
  • Las herramientas se registran con funciones de devolución de llamada
  • Los recursos utilizan rutas de plantilla con sustitución de parámetros

Conceptos clave

  1. Herramientas
    • Registrado usando server.tool()
    • Ejecutar mediante funciones de devolución de llamada
    • Validación de esquemas con Zod
  2. Recursos
    • Rutas basadas en plantillas (por ejemplo, storage://{key} )
    • Se accede a través de readCallback
    • Manejo de recursos parametrizado

Uso

Calculadora

  1. Seleccione una operación (sumar, restar, multiplicar, dividir)
  2. Introduzca dos números
  3. Haga clic en "Calcular" para ver el resultado.
  4. Manejo de errores para entradas no válidas y división por cero

Almacenamiento

  1. Introduzca una clave y un valor en los campos respectivos
  2. Haga clic en "Establecer almacenamiento" para almacenar el valor
  3. Ingrese una clave y haga clic en "Obtener almacenamiento" para recuperar un valor
  4. Retroalimentación proporcionada para operaciones exitosas y errores.

Dependencias

  • @modelcontextprotocol/sdk
  • Zod (para validación de esquemas)
  • Mecanografiado
  • Vite (para desarrollo y construcción)

Estructura del proyecto

mcp-wasm-poc/ ├── src/ │ └── web/ │ ├── server.ts # MCP server implementation │ ├── main.ts # Client-side logic │ └── browser-transport.ts # Browser transport layer ├── index.html # Web interface └── package.json # Project dependencies

Manejo de errores

  • Errores de inicialización del servidor
  • Errores de ejecución de la herramienta
  • Errores de acceso a recursos
  • Validación de entrada
  • Errores de la capa de transporte

Mejoras futuras

  • Operaciones adicionales de la calculadora
  • Almacenamiento persistente entre sesiones
  • Interfaz de usuario/experiencia de usuario mejorada
  • Herramientas y recursos adicionales de MCP
  • Optimización WASM

Desarrollo

Esta es una implementación de prueba de concepto que demuestra la viabilidad de ejecutar un servidor MCP en un navegador web mediante WebAssembly. La implementación se centra en demostrar los conceptos básicos de MCP, manteniendo la simplicidad y la claridad.

-
security - not tested
F
license - not found
-
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.

Este servidor permite ejecutar un Protocolo de Contexto de Modelo en un navegador web con funcionalidades que incluyen operaciones aritméticas y almacenamiento de clave-valor basado en sesión.

  1. Características
    1. Herramienta calculadora
    2. Sistema de almacenamiento
  2. Implementación técnica
    1. Componentes del servidor
    2. Arquitectura
    3. Conceptos clave
  3. Uso
    1. Calculadora
    2. Almacenamiento
  4. Dependencias
    1. Estructura del proyecto
      1. Manejo de errores
        1. Mejoras futuras
          1. Desarrollo

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that provides web content fetching and conversion capabilities.
              Last updated -
              4
              89
              2
              JavaScript
              MIT License
              • Apple
            • A
              security
              F
              license
              A
              quality
              A server that provides tools for performing basic arithmetic operations (addition, subtraction, multiplication, division) via the Model Context Protocol.
              Last updated -
              4
              JavaScript
              • Apple
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server built with Express.js that provides cryptographic tools including key pair generation, shared secret derivation, and message encryption/decryption.
              Last updated -
              160
              JavaScript
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol server that enables seamless execution of commands, Python code, web content fetching, and reusable task management with secure credentials handling.
              Last updated -
              2
              Python
              MIT License
              • Apple

            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/beekmarks/mcp-wasm'

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