Example Domain

Example Domain

site icon
2025.03.05 1
JavaScript学习工具问答系统其它
mcp-like-server 是一个用于理解和学习 MCP(可能是某种自定义协议或工具)核心概念的自定义实现。该项目在 3 小时内完成,主要关注学习与实验,而非代码质量。它通过模拟 MCP 服务器的行为,展示了如何注册和调用工具/函数,以及如何与 LLM(大型语言模型)交互来实现问答功能。
View on GitHub

Overview

基本能力

产品定位

mcp-like-server 是一个教育性质的 MCP 服务器模拟实现,旨在帮助开发者理解 MCP 工具的核心概念和工作原理。

核心功能

  1. 工具注册与调用:支持注册工具/函数,并通过 LLM 动态选择调用。
  2. 搜索功能:提供搜索工具,用于查找匹配的函数或工具。
  3. 页面内容提取:支持通过 FireCrawl 提取网页内容。
  4. 简单计算:提供数字相加的工具。
  5. 服务器信息查询:如查询服务器 CPU 数量。

适用场景

  1. 学习与实验:用于理解 MCP 工具的工作原理。
  2. 问答系统:通过 LLM 和工具调用实现问答功能。
  3. 网页内容提取:快速获取指定网页的内容。
  4. 信息搜索:如搜索最新的美国政治新闻。

工具列表

  1. searchFunctions:搜索匹配的函数或工具。
  2. googleSearch:执行谷歌搜索并返回结果。
  3. extractPageContent:提取指定网页的内容。
  4. add_numbers:执行数字相加操作。
  5. serverInfo:查询服务器信息(如 CPU 数量)。

常见问题解答

  1. 如何调试工具调用?:设置 CHAT_LOG_LEVELdebug 查看详细日志。
  2. 为什么某些简单问题不需要工具调用?:LLM 可以直接回答简单问题,无需工具调用。
  3. 如何强制使用工具调用?:在问题中明确指定使用工具调用(如“使用工具调用”)。

使用教程

使用依赖

  1. 安装 Qdrant 向量数据库: shell docker run -p 6333:6333 -p 6334:6334 \ -v $(pwd)/qdrant_storage:/qdrant/storage \ qdrant/qdrant UI 地址:http://localhost:6333/dashboard

安装教程

  1. 克隆仓库。
  2. 复制 .env.example.env 并填写必要值(FIRECRAWL_KEY 仅在使用页面提取工具时需要)。
  3. 设置 CHAT_LOG_LEVELdebug
  4. 启动服务器:npm run server
  5. 在另一个窗口启动示例聊天循环:npm run example_chat

调试方式

  1. 测试简单消息(无需工具调用):how are you doing
  2. 测试工具调用:search for latest US politics news
  3. 测试 FireCrawl:extract this page content: https://example.com/
  4. 测试数字相加:Add these numbers: 10, 20 using tool call
  5. 查看调试日志:确保 CHAT_LOG_LEVEL 设置为 debug

许可证

None