Token导航 LogoToken导航TokenDH.com
twittermcp (Mayanpathak) logo
开发工具未说明官方级别未说明来源级核验

twittermcp (Mayanpathak)

MCP Server

这是一个基于Node.js的命令行界面(CLI)聊天机器人,集成了Google的Gemini AI和Model Context Protocol(MCP),支持AI辅助功能调用、动态工具执行和实时对话交互,适用于开发人员构建与API、工具或服务实时交互的AI代理。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
命令行工具实时交互API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mayanpathak

提供方

mayanpathak

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

具有模型上下文协议(MCP)的Gemini工具感知CLI聊天机器人 该项目是一个基于Node.js的命令行界面(CLI)聊天机器人,它通过模型上下文协议(MCP)将谷歌的Gemini AI与工具调用功能集成在一起。它支持人工智能辅助的函数调用、动态工具执行和对话界面。这对于希望构建与API、工具或服务实时交互的AI代理的开发人员来说是理想的。

🧠 项目概述 此CLI聊天机器人使用:

Google Gemini(生成式人工智能)用于处理和生成对话响应。

MCP(模型上下文协议)用于注册和调用外部工具。

SSE(服务器发送事件)用于实时工具交互。

一个由Node.js和readline支持的简单交互式CLI界面。

AI接收上下文,根据需要调用工具,并返回增强的响应——所有这些都在聊天循环中。

📁 项目结构 bash 复制 编辑 客户/ │ ├── index.js#主要入口点 ├── package.json#项目元数据和依赖关系 ├── .env#环境变量(Gemini API密钥) └── README.md#文档(此文件) 🚀 特性 ✅ 基于文本的CLI界面

✅ Gemini 2.0 Flash模型集成

✅ 支持使用Gemini的functionDeclarations调用函数/工具

✅ 通过MCP动态工具列表

✅ 工具结果注入聊天历史记录

✅ 刀具执行后Gemini的自动重新调用

✅ 干净的错误处理(包括Gemini 503响应)

✅ 完全异步流

🔧 使用的技术 工具/库用途 @google/genai连接到google Gemini API @modelcontextprotocol/sdk通过SSE与工具服务器交互 dotenv安全地管理API密钥 readline/promises异步CLI输入处理 Node.js(ESM)运行时和生态系统

⚙️ 先决条件 在运行项目之前,请确保已安装以下内容:

Node.js v18+

有效的Google Gemini API密钥

运行在以下位置的MCP兼容工具服务器http://localhost:3001/sse

📦 安装 克隆存储库:

bash 复制 编辑 克隆https://github.com/your-username/gemini-mcp-chatbot.git cd gemini mcp聊天机器人 安装依赖项:

bash 复制 编辑 npm安装 创建.env文件:

环境 复制 编辑 GEMINI_API_KEY=您的\_ oogle_GEMINI_API_KEY_here 🧠 它是如何工作的——一步一步

  1. 启动并连接

当应用程序启动时,它使用服务器发送事件(SSEClientTransport)连接到MCP服务器。

然后,它通过listTools()动态检索所有注册的工具,并将它们的模式注册到Gemini。

  1. 读取用户输入

它使用readline.promises在终端中提示用户。

输入已添加到聊天历史记录中。

  1. 呼叫Gemini模型

Google Gemini的generateContent方法被调用。

它接收聊天历史记录和工具列表(functionDeclarations)作为上下文。

  1. 函数调用处理

如果Gemini选择调用一个工具,它将返回一个functionCall对象。

提取工具名称和参数,并通过mcpClient.callTool将其发送到MCP服务器。

  1. 将工具结果插入聊天

从工具返回的结果被插入回对话中,就像用户提供的一样。

更新的历史记录将再次传递给Gemini,以进行后续响应。

  1. 显示响应

如果没有工具调用,响应将简单地打印到终端。

循环继续,等待下一个用户输入。

🔍 示例工具调用 假设工具服务器有一个名为getWeather的工具:

工具架构: 数据 复制 编辑 { “name”:“getWeather”, “description”:“根据城市返回天气”, “参数”:{ “类型”:“对象”, “属性”:{ 城市 “type”:“string” } }, “必填”:\[“城市”\] } } 对话: 程序设计 复制 编辑 你:德里的天气怎么样?

AI:调用工具getWeather

AI:工具结果:德里气温32°C,阳光明媚。

你:谢谢! 🧪 示例用例 🤖 构建自动调用API/工具的AI代理。

🔧 运行shell命令的AI DevOps助手。

🛠️ 使用后端工具检索答案的产品聊天机器人。

📊 具有实时工具访问功能的AI仪表板。

🔌 人工智能封装在微服务之上。

📄 文件:index.js--说明 第节它的作用 dotenv/config加载.env变量(Gemini键) readline/promises创建异步CLI接口 GoogleGenAI初始化Gemini API客户端 Client/SSEClientTransport连接到MCP服务器 listTools()获取工具列表+模式 generateContent()向Gemini发送提示和工具 函数调用检查Gemini是否要调用工具 mcpClient.callTool()通过MCP执行该工具 chatHistory.push()维护来回内存 chatLoop()管理整个进程的主循环

🛠️ 故障排除 问题修复 401未经授权检查您的Gemini API密钥 工具返回未定义确保工具在MCP中正确定义 503来自Gemini请求太多--稍后重试 CLI冻结使用CTRL+C并重新启动 SSE连接错误确保MCP服务器正在以下位置运行http://localhost:3001/sse

📈 未来改进 🧠 多圈记忆存储

💾 在本地保存对话

🌐 WebSocket支持实时更新

🛡️ 使用OAuth进行工具身份验证

📦 代理的NPM包版本

👨‍💻 贡献 如果你想改进这个项目,可以随时打开问题或拉取请求。

📝 许可证 该项目在MIT许可证下是开源的。

🙌 致谢 谷歌双子座

模型上下文协议

OpenAI函数调用灵感

社区贡献者

目录标签

目录标签

命令行工具实时交互API集成AI聊天机器人本地部署动态工具执行

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP