MCP Tools

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Referenced as a related project through langchain-mcp-adapters, enabling the use of MCP tools with LangChain.

  • Referenced indirectly through MCP-Bridge which maps MCP tools to OpenAI's format, suggesting compatibility with OpenAI models.

  • Allows execution of Python scripts through the shell command tool, enabling AI agents to run Python code and analyze data.

Herramientas MCP

Una implementación de servidor de Protocolo de contexto de modelo (MCP) personalizada que proporciona herramientas de ejecución de comandos y sistema de archivos para Claude Desktop y otros clientes LLM.

¿Qué es el Protocolo de Contexto Modelo?

El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que estandariza cómo las aplicaciones proporcionan contexto a los Modelos de Lenguaje Grandes (LLM). Al igual que un puerto USB-C proporciona una forma estandarizada de conectar dispositivos a diversos periféricos, MCP proporciona una forma estandarizada de conectar modelos de IA a diferentes fuentes de datos y herramientas.

Este proyecto implementa un servidor FastMCP con diversas herramientas útiles que permiten a Claude y a otros LLM interactuar con el sistema de archivos local y ejecutar comandos. Amplía las capacidades de los LLM con acceso al sistema local de forma controlada mediante interfaces de herramientas bien definidas.

Beneficios clave del MCP

  • Integración estandarizada : MCP ofrece una lista creciente de integraciones prediseñadas a las que su LLM puede conectarse directamente.
  • Flexibilidad del proveedor : cambie fácilmente entre proveedores de LLM y proveedores (Claude, GPT-4o, Gemini, etc.)
  • Seguridad : Mejores prácticas para proteger sus datos dentro de su infraestructura
  • Exposición de herramientas : encapsule las herramientas existentes y hágalas accesibles para cualquier cliente LLM compatible con MCP

Características

El servidor MCP proporciona las siguientes herramientas de sistema de archivos y ejecución de comandos:

  • execute_shell_command : ejecuta comandos de shell y obtiene resultados de stdout/stderr
  • show_file : Ver el contenido del archivo con especificación de rango de línea opcional
  • search_in_file : Busca patrones en archivos usando expresiones regulares
  • edit_file : Realiza cambios precisos en archivos con reemplazos de cadenas y operaciones de línea
  • write_file : Escribe o añade contenido a los archivos

Arquitectura MCP

MCP sigue una arquitectura cliente-servidor:

  • Hosts : aplicaciones LLM (como Claude Desktop o IDE) que inician conexiones
  • Clientes : Mantener conexiones 1:1 con servidores, dentro de la aplicación host
  • Servidores : proporcionan contexto, herramientas y avisos a los clientes (este proyecto implementa un servidor)

Prerrequisitos

  • Python 3.10 o superior
  • Un cliente compatible con MCP (Claude Desktop o cualquier otro cliente que admita MCP)

Instalación

  1. Instalar uv
  2. Clona este repositorio o descarga el código fuente
  3. Ejecute uv run mcp install para instalar el servidor MCP
  4. Ejecute which uv para obtener una ruta absoluta al ejecutable uv
  5. Actualice la configuración de su servidor MCP en Claude Desktop para utilizar la ruta absoluta al ejecutable uv

La configuración de mi servidor MCP se ve así:

{ "globalShortcut": "", "mcpServers": { "zbigniew-mcp": { "command": "/Users/zbigniewtomanek/.local/bin/uv", "args": [ "run", "--with", "mcp[cli]", "--with", "marker-pdf", "mcp", "run", "/Users/zbigniewtomanek/PycharmProjects/my-mcp-tools/server.py" ] } } }

Uso

Conectarse desde Claude Desktop

  1. Abra Claude Desktop
  2. Conéctese al servidor MCP utilizando el identificador "zbigniew-mcp"

Nota : Si bien esta implementación se centra en Claude Desktop, MCP está diseñado para ser compatible con cualquier herramienta compatible con MCP o cliente LLM, lo que proporciona flexibilidad en la implementación y la integración.

Herramientas disponibles

ejecutar_comando_shell

Ejecute comandos de shell de forma segura utilizando una lista de argumentos:

execute_shell_command(["ls", "-la"]) execute_shell_command(["grep", "-r", "TODO", "./src"]) execute_shell_command(["python", "analysis.py", "--input", "data.csv"]) execute_shell_command(["uname", "-a"])

mostrar_archivo

Ver el contenido del archivo con especificación de rango de línea opcional:

show_file("/path/to/file.txt") show_file("/path/to/file.txt", num_lines=10) show_file("/path/to/file.txt", start_line=5, num_lines=10)

buscar_en_archivo

Buscar patrones en archivos usando expresiones regulares:

search_in_file("/path/to/script.py", r"def\s+\w+\s*\(") search_in_file("/path/to/code.py", r"#\s*TODO", case_sensitive=False)

archivo_de_edición

Realizar cambios precisos en los archivos:

# Replace text edit_file("config.json", replacements={"\"debug\": false": "\"debug\": true"}) # Insert at line 5 edit_file("script.py", line_operations=[{"operation": "insert", "line": 5, "content": "# New comment"}]) # Delete lines 10-15 edit_file("file.txt", line_operations=[{"operation": "delete", "start_line": 10, "end_line": 15}]) # Replace line 20 edit_file("file.txt", line_operations=[{"operation": "replace", "line": 20, "content": "Updated content"}])

escribir_archivo

Escribir o agregar contenido a los archivos:

# Overwrite file write_file("/path/to/file.txt", "New content") # Append to file write_file("/path/to/log.txt", "Log entry", mode="a")

página de búsqueda

Extrae el contenido de una página web en formato PDF (requiere tener instalado Chromium) y luego lo analiza en formato Markdown mediante LLM locales:

fetch_page("https://example.com")

Mecanismos de transporte

MCP admite múltiples métodos de transporte para la comunicación entre clientes y servidores:

  • Entrada/salida estándar (stdio) : utiliza entrada/salida estándar para la comunicación, ideal para procesos locales
  • Eventos enviados por el servidor (SSE) : permite la transmisión de servidor a cliente con solicitudes HTTP POST para la comunicación de cliente a servidor.

Esta implementación utiliza un servidor MCP local que se comunica mediante entrada/salida de texto.

Ampliación con sus propias herramientas

Puede ampliar fácilmente este servidor MCP añadiendo nuevas herramientas con el decorador @mcp.tool . Siga el patrón de server.py para crear nuevas herramientas que ofrezcan funcionalidad adicional a sus clientes LLM.

Proyectos relacionados

Consideraciones de seguridad

El servidor MCP proporciona a Claude acceso a su sistema local. Tenga en cuenta lo siguiente:

  • El servidor ejecuta comandos de shell como su usuario
  • Puede leer, escribir y modificar archivos en su sistema.
  • Considere limitar el acceso a directorios específicos si la seguridad es una preocupación
-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo personalizado que brinda a Claude Desktop y otros LLM acceso a operaciones del sistema de archivos y capacidades de ejecución de comandos a través de interfaces de herramientas estandarizadas.

  1. What is the Model Context Protocol?
    1. Key Benefits of MCP
      1. Features
        1. MCP Architecture
          1. Prerequisites
            1. Installation
              1. Usage
                1. Connecting from Claude Desktop
              2. Available Tools
                1. execute_shell_command
                2. show_file
                3. search_in_file
                4. edit_file
                5. write_file
                6. fetch_page
              3. Transport Mechanisms
                1. Extending with Your Own Tools
                  1. Related Projects
                    1. Security Considerations
                      ID: fx1oclw99q