项目简介
Narad MCP Server 旨在作为一个 Model Context Protocol (MCP) 服务器,为大型语言模型 (LLM) 应用提供上下文信息和功能扩展。它通过集成多种 Agent(如 GitHubAgent, EmailAgent, WhatsAppAgent),使得 LLM 客户端能够安全、便捷地调用外部服务,实现更复杂的工作流程和任务自动化。该服务器通过 HTTP 协议与客户端通信,接收指令并返回结果。
主要功能点
- 多Agent集成: 内置 GitHub, Email, WhatsApp 三种 Agent,可扩展集成更多服务。
- 命令路由: 通过预定义的命令前缀(如 'github:', 'email:', 'whatsapp:')将指令路由到相应的 Agent 执行。
- 本地LLM支持: 集成本地 LLM 模型 (通过 'gpt4all') 作为默认能力,处理通用指令或作为 Agent 功能的补充。
- HTTP API: 提供简单的 HTTP POST 接口 '/command' 接收客户端指令。
- 环境配置: 使用 '.env' 文件管理敏感信息,如 GitHub Token, Email 账户等。
安装步骤
-
克隆仓库
git clone https://github.com/Edge-Explorer/Narad-MCP-Server.git cd Narad-MCP-Server -
安装依赖
pip install -r requirements.txt -
配置环境变量
- 在项目根目录下创建 '.env' 文件。
- 根据需要配置以下环境变量 (示例):
注意: 请替换为您的实际 GitHub Token 和 Email 账户信息。WhatsApp Agent 的配置可能需要您根据 'whatsapp_agent.py' 中的代码逻辑进行调整。GITHUB_TOKEN=your_github_token [email protected] EMAIL_PASSWORD=your_email_password SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 TWILIO_PHONE_NUMBER=+1234567890 # (WhatsApp Agent 可能需要,但 pywhatkit 主要依赖 WhatsApp Web)
服务器配置
对于 MCP 客户端,您需要配置连接到 Narad MCP Server 的信息。以下是一个 JSON 格式的配置示例,您可以将其添加到 MCP 客户端的服务器配置中:
{ "serverName": "NaradServer", "command": "python", "args": ["mcp_server.py"], "host": "http://localhost", "port": 5000, "protocol": "http", "description": "Narad MCP Server 提供 GitHub, Email, WhatsApp 功能" }
参数注释:
- '"serverName"': 服务器的名称,您可以自定义。
- '"command"': 启动服务器的命令,这里是使用 'python' 解释器。
- '"args"': 启动命令的参数,这里指定运行 'mcp_server.py' 文件。
- '"host"': 服务器的主机地址,'localhost' 表示本地运行。如果服务器部署在远程,请修改为服务器的 IP 地址或域名。
- '"port"': 服务器监听的端口,默认为 '5000',与 'mcp_server.py' 中 'app.run(port=5000)' 的配置一致。
- '"protocol"': 服务器使用的协议,这里是 'http'。
- '"description"': 服务器的简要描述,方便客户端用户了解服务器功能。
MCP 客户端需要配置此 JSON,以便能够连接到 Narad MCP Server 并发送指令。 客户端会根据此配置启动服务器(如果需要),并使用 HTTP 协议与服务器的 '/command' 接口进行通信。
基本使用方法
-
启动服务器 在 Narad-MCP-Server 仓库目录下,运行:
python mcp_server.py服务器默认会在 'http://0.0.0.0:5000' 启动。
-
发送指令 使用 HTTP 客户端(如 'curl' 或 Postman)向服务器的 '/command' 接口发送 POST 请求,请求体为 JSON 格式,包含 'command' 字段。
示例指令:
-
GitHub Agent:
curl -X POST -H "Content-Type: application/json" -d '{"command": "github: list commits for repo \'repo-name\' by owner \'owner-name\'"}' http://localhost:5000/command(请替换 'repo-name' 和 'owner-name' 为实际仓库名和所有者)
-
Email Agent:
curl -X POST -H "Content-Type: application/json" -d '{"command": "email: send \"Hello from Narad!\" to \'[email protected]\'"}' http://localhost:5000/command(请替换 '[email protected]' 为实际收件人邮箱)
-
WhatsApp Agent:
curl -X POST -H "Content-Type: application/json" -d '{"command": "whatsapp: send \"Hello from Narad via MCP Server!\" to \'+919768817033\'"}' http://localhost:5000/command(请替换 '+919768817033' 为实际 WhatsApp 接收号码,注意包含国家代码)
-
本地 LLM:
curl -X POST -H "Content-Type: application/json" -d '{"command": "请介绍一下你自己"}' http://localhost:5000/command
服务器会返回 JSON 格式的响应,包含 'response' 字段,表示指令执行结果。
-
注意: 实际使用时,MCP 客户端会负责构建和发送这些 HTTP 请求,您只需要配置好服务器信息并理解可用的指令格式即可。
信息
分类
通信与社交