
Example Domain

2025.03.05
1
JavaScript学习工具问答系统其它
mcp-like-server 是一个用于理解和学习 MCP(可能是某种自定义协议或工具)核心概念的自定义实现。该项目在 3 小时内完成,主要关注学习与实验,而非代码质量。它通过模拟 MCP 服务器的行为,展示了如何注册和调用工具/函数,以及如何与 LLM(大型语言模型)交互来实现问答功能。
View on GitHub
Overview
基本能力
产品定位
mcp-like-server 是一个教育性质的 MCP 服务器模拟实现,旨在帮助开发者理解 MCP 工具的核心概念和工作原理。
核心功能
- 工具注册与调用:支持注册工具/函数,并通过 LLM 动态选择调用。
- 搜索功能:提供搜索工具,用于查找匹配的函数或工具。
- 页面内容提取:支持通过 FireCrawl 提取网页内容。
- 简单计算:提供数字相加的工具。
- 服务器信息查询:如查询服务器 CPU 数量。
适用场景
- 学习与实验:用于理解 MCP 工具的工作原理。
- 问答系统:通过 LLM 和工具调用实现问答功能。
- 网页内容提取:快速获取指定网页的内容。
- 信息搜索:如搜索最新的美国政治新闻。
工具列表
- searchFunctions:搜索匹配的函数或工具。
- googleSearch:执行谷歌搜索并返回结果。
- extractPageContent:提取指定网页的内容。
- add_numbers:执行数字相加操作。
- serverInfo:查询服务器信息(如 CPU 数量)。
常见问题解答
- 如何调试工具调用?:设置
CHAT_LOG_LEVEL
为debug
查看详细日志。 - 为什么某些简单问题不需要工具调用?:LLM 可以直接回答简单问题,无需工具调用。
- 如何强制使用工具调用?:在问题中明确指定使用工具调用(如“使用工具调用”)。
使用教程
使用依赖
- 安装 Qdrant 向量数据库:
shell docker run -p 6333:6333 -p 6334:6334 \ -v $(pwd)/qdrant_storage:/qdrant/storage \ qdrant/qdrant
UI 地址:http://localhost:6333/dashboard
安装教程
- 克隆仓库。
- 复制
.env.example
为.env
并填写必要值(FIRECRAWL_KEY
仅在使用页面提取工具时需要)。 - 设置
CHAT_LOG_LEVEL
为debug
。 - 启动服务器:
npm run server
。 - 在另一个窗口启动示例聊天循环:
npm run example_chat
。
调试方式
- 测试简单消息(无需工具调用):
how are you doing
。 - 测试工具调用:
search for latest US politics news
。 - 测试 FireCrawl:
extract this page content: https://example.com/
。 - 测试数字相加:
Add these numbers: 10, 20 using tool call
。 - 查看调试日志:确保
CHAT_LOG_LEVEL
设置为debug
。
许可证
None