返回市场
CoinGecko-赛思-MCP

CoinGecko-赛思-MCP

作者:CharlesCreativeContent10 星标更新:2025-10-05

项目介绍

CoinGecko MCP与C1聊天集成

<img src="https://gips1.baidu.com/it/u=838635314,941098310&fm=3081&app=3081&f=GIF?w=800&h=517"><img/>

这是一个由Thesys开发的C1项目,展示了MCP(模型上下文协议)服务器与流式聊天功能的集成。

特性

  • C1聊天集成:由Thesys C1提供智能对话支持
  • MCP服务器支持:连接到MCP服务器以扩展工具的AI能力
  • 工具集成:自动列出并调用已连接MCP服务器上的工具
  • 流式响应:实时流式传输AI响应
  • 思考状态:视觉指示器显示AI正在做什么
  • 文件系统操作:通过MCP内置文件系统访问(无需认证)

快速开始

预备条件

你需要:

  • Thesys API:从Thesys控制台获取你的密钥
  • Node.js/pnpm:用于运行开发服务器

环境变量

设置环境变量:

export THESYS_API_KEY=<your-thesys-api-key>

安装

使用pnpm安装依赖:

pnpm install

开发

运行开发服务器:

pnpm dev

在浏览器中打开http://localhost:3000查看结果。

你可以做什么 - 示例

一旦应用程序运行起来,你可以请求AI帮助完成各种文件系统任务。这里有一些例子:

📁 项目探索

“这个项目里有哪些文件?”
“展示项目的结构”
“列出src目录下的所有TypeScript文件”
“components文件夹里有什么?”
“在这个项目中查找所有的配置文件”

📄 文件分析

“读取并解释package.json文件”
“这个项目使用了哪些依赖项?”
“展示TypeScript配置”
“README文件里有什么?”
“分析主路由文件”

🔍 代码审查与理解

“解释MCP客户端的作用”
“聊天路由是如何工作的?”
“应用目录里有哪些组件?”
“展示API结构”
“使用了哪些样式文件?”

🏗️ 开发辅助

“帮我理解这个Next.js项目结构”
“这个应用需要哪些环境变量?”
“解释MCP集成实现”
“展示思考状态的实现方式”
“route.ts和mcp.ts之间的区别是什么?”

📊 项目分析

“主文件中有多少行代码?”
“这个项目依赖哪些外部包?”
“展示聊天路由中的所有导入语句”
“有哪些可用的API端点?”
“分析项目的架构”

🐛 调试帮助

“检查代码中是否有TODO注释”
“展示使用的错误处理模式”
“实现了哪些日志记录?”
“查找所有console.log语句”
“检查是否有硬编码值”

🎨 UI与样式

“使用了哪种CSS/样式方法?”
“展示Tailwind配置”
“导入了哪些UI组件?”
“布局是如何构建的?”
“配置了哪些字体和主题?”

MCP集成

本项目演示了如何将MCP服务器与C1聊天进行集成:

  1. MCP客户端MCPClient类(位于src/app/api/chat/mcp.ts)负责:

    • 连接到MCP服务器
    • 通过mcp.listTools()列出可用工具
    • 通过runTools()执行工具调用
  2. 聊天路由:API路由(位于src/app/api/chat/route.ts)集成了MCP工具:

    • 启动时连接到MCP服务器
    • 将MCP工具传递给OpenAI完成请求
    • 无缝处理工具调用及思考状态
  3. 工具执行:当AI需要使用工具时,系统:

    • 接收来自AI模型的工具调用
    • 通过MCP服务器执行它们
    • 将结果返回给对话
    • 在执行过程中显示思考状态

支持的MCP服务器

当前配置为:

  • 文件系统服务器:文件系统操作(读取、写入、列出文件)- 不需要认证
  • 备用服务器:如果文件系统失败,作为替代的MCP服务器

可用工具

文件系统MCP服务器提供了这些工具:

  • read_file - 读取特定文件的内容
  • list_directory - 列出文件和目录
  • get_file_info - 获取关于文件的元数据
  • search_files - 按名称或内容搜索文件

思考状态

系统包括视觉思考状态,向用户展示:

  • 💭 “处理您的请求...” - 初始分析
  • 💭 “使用工具:read_file” - 访问文件时
  • 💭 “处理结果...” - 分析工具结果时

最佳实践提示

  1. 具体明确:尝试“列出src/app目录下的所有TypeScript文件”,而不是“显示文件”
  2. 请求分析:请求解释,如“解释这个配置的作用”
  3. 组合请求:“读取package.json并解释主要依赖项”
  4. 请求比较:“比较route.ts和mcp.ts的结构”
  5. 请求帮助:“帮助我理解MCP集成的工作原理”

更多信息

更多项目

<table bordercolor="#66b2b2"> <tr> <td width="33.3%" valign="top"> <a target="_blank" href="https://github.com/CharlesCreativeContent/runware-pokemon-generator">Runware Pokemon生成器</a> <br /> <a target="_blank" href="https://github.com/CharlesCreativeContent/runware-pokemon-generator"> <img src="https://github.com/CharlesCreativeContent/runware-pokemon-generator/raw/main/public/runware.gif?raw=true" width="100%" alt="CoinGecko-Thesys-MCP"/> </a> </td> <td width="33.3%" style="align:center;" valign="top"> <a target="_blank" href="https://github.com/-CreativeContent/elastic-path-demo">Elastic Path API</a> <br /> <a target="_blank" href="https://github.com/CharlesCreativeContent/elastic-path-demo"> <img src="https://github.com/CharlesCreativeContent/myimages/raw/main/images/elastic-path-demo.gif?raw=true" width="100%" alt="Elastic Path API"/> </a> </td> <td width="33.3%" valign="top"> <a target="_blank" href="https://github.com/CharlesCreativeContent/Demo-Day">旅行Web应用程序</a> <br /> <a target="_blank" href="https://github.com/CharlesCreativeContent/Demo-Day"> <img src="https://github.com/CharlesCreativeContent/CharlesCreativeContent/raw/main/images/gif1.gif?raw=true" width="100%" alt="Portfolio"/> </a> </td> </tr> </table>