MCPAgent
Un marco de agente inteligente basado en MCP, que admite múltiples modelos de lenguaje grandes e integraciones de herramientas para probar la efectividad de un solo agente.
Documentación
MCPAgent
MCPAgent es un framework de agente inteligente basado en el Model Context Protocol (MCP), que admite la integración de múltiples modelos de lenguaje grandes y herramientas, diseñado específicamente para probar el efecto de agentes individuales.
🔑 Antecedentes
El diseño actual de agentes depende básicamente de la capacidad del propio modelo de lenguaje grande para pensar y planificar. Para una persona sin experiencia empresarial específica, puede resolver problemas de 0 a 80 puntos. Sin embargo, para escenarios industriales específicos, un experto con experiencia puede alcanzar 95 puntos controlando la invocación de herramientas. En este punto, el flujo de experiencia y las herramientas MCP de escenarios específicos son más importantes que la capacidad del propio modelo de lenguaje grande.
De hecho, también hemos demostrado a través de algunos métodos que en el campo de la ciberseguridad, depender de la capacidad del propio modelo de lenguaje grande para planificar y ejecutar, la salida de cualquier modelo de lenguaje grande llamado "de primer nivel" es un desastre, con sorpresas y sustos, y difícilmente satisface las necesidades del entorno de producción. Por otro lado, también hemos demostrado que incluso un modelo pequeño de 14b (incluso qwen3 4b) con herramientas de dominio y flujos de mejores prácticas limitados, produce resultados mucho mejores que los modelos de lenguaje grandes de propósito general.
通用大模型 + 自规划流程 + 通用工具 + 公开数据 < 小模型 + 最佳实践的限定流程 + 垂直领域的数据 + 垂直领域的工具
Ya sea por efectividad o por costo, en el futuro se convertirá en la consolidación y aterrizaje de flujos de experiencia en diferentes campos verticales.
No existen herramientas en el mercado para probar el efecto de agentes basados en MCP. Herramientas integrales como cherry studio tienen dos problemas: uno es que incorporan y fijan largos prompts genéricos que interfieren con el efecto, y el otro es que todavía usan el método anterior basado en CoT con invocación de herramientas mediante texto, en lugar de usar directamente la API de herramientas para adaptarse a las mejores prácticas.
Basándonos en lo anterior, queremos crear una herramienta GUI diseñada específicamente para "probar el efecto de agentes individuales".
✨ Características
- 🤖 Soporte multi-modelo: Admite múltiples proveedores de LLM como OpenAI y Ollama
- 🔧 Integración de herramientas: Ecosistema rico de herramientas basado en el protocolo MCP
- 🌐 Múltiples métodos de conexión: Admite conexiones de servidor MCP por STDIO (línea de comandos) y SSE (servicio de red)
- 🎯 Arquitectura ReAct: Patrón de agente inteligente con ciclo de razonamiento-acción
- ⚙️ Configuración flexible: Admite archivos de configuración YAML y parámetros de línea de comandos
- 🔄 Notificaciones en tiempo real: Proporciona retroalimentación en tiempo real durante la ejecución de tareas
- 🌐 Interfaz web: UI web moderna basada en Vue3, con interacción en tiempo real
- 📱 Diseño responsivo: Adaptado para dispositivos de escritorio y móviles
- 🌍 Soporte multi-idioma: Cambio entre interfaz en chino e inglés
- 🎨 Cambio de tema: Cambio libre entre temas claro y oscuro
🚀 Inicio rápido
Instalación
- Instalar el programa principal
# 克隆项目
git clone https://github.com/LubyRuffy/mcpagent.git
cd mcpagent
# 安装依赖
go mod download
# 构建项目
go build -o mcpagent ./cmd/mcpagent
- Instalar dependencias de mcp
# uvx
curl -LsSf https://astral.sh/uv/install.sh | sh
# pip install uv
# npx
brew install node
npm install -g npx
- Instalar ollama (opcional)
brew install ollama
Por defecto se usa qwen3, también puedes configurar cualquier API compatible con openai.
Uso básico
Modo línea de comandos
# 使用默认配置执行任务
./mcpagent -task "分析网络安全领域的最新研究趋势"
# 使用自定义配置文件
./mcpagent -config news_config.yaml -task "分析特朗普的一些新政策对中美关系的影响"
# 使用数据库的mcp server可以直接做数据查询
./mcpagent -config dbagent_config.yaml -task "最近的用户查询最多的产品是什么"
Modo interfaz web
# 构建Web应用
./scripts/build-web.sh
# 启动Web服务器
cd build
./start.sh
# 或者直接运行开发模式
./scripts/dev.sh
Accede a http://localhost:8080 para usar la interfaz web.
Características de la interfaz web:
- 🎛️ Gestión visual de configuración (LLM, servidores MCP, selección de herramientas)
- 💬 Interacción de chat en tiempo real, con respuestas en streaming
- 🔧 Visualización del proceso de invocación de herramientas
- 📝 Plantillas de prompts del sistema y edición personalizada
- 🌐 Interfaz multi-idioma (chino/inglés)
- 🎨 Cambio de tema claro/oscuro
- 📱 Diseño responsivo, compatible con dispositivos móviles
✅ ¡La UI web está completamente implementada y funcional! Para una guía de uso detallada, consulta WEB_UI_USAGE_GUIDE.md
⚙️ Configuración
Archivo de configuración principal (config.yaml)
# LLM 配置
llm:
type: ollama # 支持 openai, ollama
base_url: http://127.0.0.1:11434
model: qwen3:14b
api_key: ollama
# MCP 服务器配置
mcp:
config_file: mcp_servers.json
#mcp_servers: 也可以直接配置mcp_servers
tools:
- fetch_fetch
- ddg-search_search
- sequential-thinking_sequentialthinking
# 代理配置
proxy: "" # HTTP代理地址(比如burp),用于调试查看大模型的请求和响应
max_step: 20 # 最大推理步数
# 系统提示词
field: "网络安全领域" # 用于system_prompt的{field}占位符
system_prompt: |
你是一位经验丰富的学术研究员...
Configuración del servidor MCP (mcp_servers.json)
Consulta la documentación oficial
MCP Agent admite dos tipos de servidores MCP:
1. Tipo STDIO (inicio por línea de comandos)
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
2. Tipo SSE (servicio de red)
{
"mcpServers": {
"remote-api": {
"url": "http://localhost:8000/sse",
"headers": [
"Authorization: Bearer your-token-here",
"Content-Type: application/json"
]
},
"cloud-service": {
"url": "https://api.example.com/mcp/sse"
}
}
}
También se puede configurar directamente en el archivo de configuración yaml.
📖 Ejemplos de uso
Redacción de artículos académicos
./mcphost -task "撰写一篇关于'大语言模型在网络安全中的应用'的学术论文,包含文献综述、方法论和案例分析,字数不少于2000字"
Análisis de tendencias de investigación
./mcphost -task "分析2024年人工智能安全领域的最新研究趋势,总结主要技术发展和挑战"
❓ Preguntas frecuentes
P: ¿Cómo agregar un nuevo servidor MCP?
R: Agrega una nueva configuración de servidor en mcp_servers.json, luego habilita las herramientas correspondientes en mcp.tools de config.yaml.
P: ¿Qué modelos de lenguaje grandes se admiten?
R: Actualmente se admiten modelos compatibles con la API de OpenAI y modelos locales de Ollama. Se puede cambiar mediante el archivo de configuración.
P: ¿Cómo personalizar el prompt del sistema?
R: Modifica el campo system_prompt en el archivo de configuración, o usa el parámetro de línea de comandos -system-prompt.
📄 Licencia
Este proyecto está bajo la licencia MIT. Para más detalles, consulta el archivo LICENSE.
🤝 Agradecimientos
- Cloudwego Eino - Framework de desarrollo de aplicaciones de IA
- MCP Protocol - Protocolo de contexto de modelos
- mark3labs/mcp-go - Implementación de Go MCP
📞 Soporte y retroalimentación
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: Para problemas relacionados con el proyecto, envíalos a través de GitHub Issues