MCPAgent
Um framework de agente inteligente baseado em MCP, suportando múltiplos modelos de linguagem de grande escala e integrações de ferramentas para testar a eficácia de agentes individuais.
Documentação
MCPAgent
MCPAgent é um framework de agente inteligente baseado no Model Context Protocol (MCP), com suporte a múltiplos modelos de linguagem grandes e integração de ferramentas, projetado especificamente para testar a eficácia de agentes individuais.
🔑 Contexto
O design atual de agentes depende basicamente das capacidades do próprio modelo de linguagem grande para pensar e planejar. Para alguém sem experiência específica de negócio, é possível resolver problemas de 0 a 80 pontos, mas para cenários de indústrias específicas, um especialista experiente pode alcançar 95 pontos controlando as chamadas de ferramentas. Nesse momento, o fluxo de experiência e as ferramentas MCP específicas do cenário são mais importantes do que a capacidade do próprio modelo de linguagem grande.
Na verdade, também demonstramos de várias maneiras que, no campo da segurança cibernética, depender das capacidades do próprio modelo de linguagem grande para planejamento e execução resulta em saídas desastrosas de qualquer um dos chamados modelos de ponta — há surpresas boas e ruins, e é difícil atender às necessidades de ambientes de produção. Por outro lado, também demonstramos que mesmo modelos pequenos de 14B (ou até mesmo qwen3 4b), quando recebem ferramentas específicas do domínio e fluxos de trabalho com melhores práticas definidas, produzem resultados muito melhores do que modelos de linguagem grandes de uso geral.
通用大模型 + 自规划流程 + 通用工具 + 公开数据 < 小模型 + 最佳实践的限定流程 + 垂直领域的数据 + 垂直领域的工具
Considerando tanto eficácia quanto custo, o futuro será a consolidação e implementação de fluxos de experiência em diferentes domínios verticais.
Não existem ferramentas no mercado para testar a eficácia de agentes baseados em MCP. Ferramentas abrangentes como o cherry studio têm dois problemas: primeiro, incorporam prompts genéricos longos e fixos que na verdade interferem na eficácia; segundo, ainda usam o antigo fluxo CoT de chamadas de ferramentas via texto, em vez de usar diretamente as APIs de ferramentas para se adaptar às melhores práticas.
Com base nas considerações acima, queremos criar uma ferramenta GUI projetada especificamente para "testar a eficácia de agentes individuais".
✨ Recursos
- 🤖 Suporte a múltiplos modelos: Suporta vários provedores de LLM, como OpenAI e Ollama
- 🔧 Integração de ferramentas: Ecossistema rico de ferramentas baseado no protocolo MCP
- 🌐 Múltiplos métodos de conexão: Suporta dois métodos de conexão de servidor MCP: STDIO (linha de comando) e SSE (serviço de rede)
- 🎯 Arquitetura ReAct: Adota o padrão de agente inteligente com ciclo de raciocínio-ação
- ⚙️ Configuração flexível: Suporta arquivos de configuração YAML e argumentos de linha de comando
- 🔄 Notificações em tempo real: Fornece feedback em tempo real durante a execução de tarefas
- 🌐 Interface Web: UI Web moderna baseada em Vue3, com suporte a interação em tempo real
- 📱 Design responsivo: Adaptável a dispositivos desktop e móveis
- 🌍 Suporte a múltiplos idiomas: Alternância entre interfaces em chinês e inglês
- 🎨 Alternância de temas: Alternância livre entre temas claro e escuro
🚀 Início rápido
Instalação
- Instalar o programa principal
# 克隆项目
git clone https://github.com/LubyRuffy/mcpagent.git
cd mcpagent
# 安装依赖
go mod download
# 构建项目
go build -o mcpagent ./cmd/mcpagent
- Instalar as dependências MCP
# uvx
curl -LsSf https://astral.sh/uv/install.sh | sh
# pip install uv
# npx
brew install node
npm install -g npx
- Instalar o Ollama (opcional)
brew install ollama
Por padrão, usa qwen3. Você também pode configurar qualquer API compatível com OpenAI.
Uso básico
Modo de linha de comando
# 使用默认配置执行任务
./mcpagent -task "分析网络安全领域的最新研究趋势"
# 使用自定义配置文件
./mcpagent -config news_config.yaml -task "分析特朗普的一些新政策对中美关系的影响"
# 使用数据库的mcp server可以直接做数据查询
./mcpagent -config dbagent_config.yaml -task "最近的用户查询最多的产品是什么"
Modo de interface Web
# 构建Web应用
./scripts/build-web.sh
# 启动Web服务器
cd build
./start.sh
# 或者直接运行开发模式
./scripts/dev.sh
Acesse http://localhost:8080 para usar a interface Web.
Recursos da interface Web:
- 🎛️ Gerenciamento visual de configuração (LLM, servidores MCP, seleção de ferramentas)
- 💬 Interação de chat em tempo real, com suporte a respostas em streaming
- 🔧 Exibição visual do processo de chamada de ferramentas
- 📝 Modelos de prompt de sistema e edição personalizada
- 🌐 Interface multilíngue (chinês/inglês)
- 🎨 Alternância de temas claro/escuro
- 📱 Design responsivo, com suporte a dispositivos móveis
✅ A Web UI está totalmente implementada e funcional! Para um guia de uso detalhado, consulte WEB_UI_USAGE_GUIDE.md
⚙️ Instruções de configuração
Arquivo de configuração 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: |
你是一位经验丰富的学术研究员...
Configuração do servidor MCP (mcp_servers.json)
Consulte a documentação oficial
O MCP Agent suporta dois tipos de servidores MCP:
1. Tipo STDIO (iniciado por linha de comando)
{
"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 (serviço de rede)
{
"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"
}
}
}
Também é possível configurar diretamente no arquivo de configuração YAML.
📖 Exemplos de uso
Redação de artigos acadêmicos
./mcphost -task "撰写一篇关于'大语言模型在网络安全中的应用'的学术论文,包含文献综述、方法论和案例分析,字数不少于2000字"
Análise de tendências de pesquisa
./mcphost -task "分析2024年人工智能安全领域的最新研究趋势,总结主要技术发展和挑战"
❓ Perguntas frequentes
P: Como adicionar um novo servidor MCP?
R: Adicione a nova configuração do servidor em mcp_servers.json e, em seguida, habilite as ferramentas correspondentes em mcp.tools de config.yaml.
P: Quais modelos de linguagem grandes são suportados?
R: Atualmente, são suportados modelos compatíveis com a API OpenAI e modelos locais do Ollama. É possível alternar pelo arquivo de configuração.
P: Como personalizar o prompt de sistema?
R: Modifique o campo system_prompt no arquivo de configuração ou use o argumento de linha de comando -system-prompt.
📄 Licença
Este projeto é licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter detalhes.
🤝 Agradecimentos
- Cloudwego Eino - Framework de desenvolvimento de aplicações de IA
- MCP Protocol - Protocolo de Contexto de Modelo
- mark3labs/mcp-go - Implementação MCP em Go
📞 Suporte e feedback
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: Para questões relacionadas ao projeto, envie pelo GitHub Issues