MCP-Server com CoConuT (Continuous Chain of Thought)

MCP-Server com CoConuT (Continuous Chain of Thought)

MarceloAssis123

研究与数据
访问服务器

README

MCP-Server com CoConuT (持续思考链)

MCP(模型上下文协议)服务器的实现,该服务器提供 CoConuT 工具,以促进具有自动循环检测、分支管理和引导式交互的连续链式结构化思考。

主要功能

  • 持续思考链:CoConuT(持续思考链)的实现,用于结构化的问题解决
  • 循环检测:使用不同相似度指标(Levenshtein、Jaccard、Cosine)检测循环推理的先进算法
  • 分支管理:探索具有分支、比较和合并的不同思路的可能性
  • 自动反思:定期反思系统,以评估问题解决的进展
  • 思考分析:自动分析思考链,以验证推理是否在正确的轨道上
  • 结论记录:以结构化方式记录结论和已执行更改的系统
  • 集成持久性:所有数据都会自动持久化,以便于后续分析
  • 多种响应格式:支持不同的格式(JSON、Markdown、HTML)
  • 模块化架构:基于具有依赖注入的组件的系统
  • 集成文档:响应中包含的输入参数的详细描述
  • 国际化:支持多种语言的消息
  • 模板系统:灵活的模板,用于结论的个性化

要求

  • Node.js 18 或更高版本
  • NPM

安装

克隆存储库并安装依赖项:

git clone https://github.com/MarceloAssis123/MCP-servers.git
cd MCP-servers
npm install

或者直接通过 npx 使用:

npx -y github:MarceloAssis123/MCP-servers

配置

系统使用 src/config.ts 中的集中式配置对象。默认值为:

CoConuT 配置

  • maxHistorySize:历史记录的最大大小(默认值:1000)
  • cycleDetectionThreshold:循环检测的阈值(默认值:0.8)
  • persistenceEnabled:始终启用持久性(true)
  • maxBranches:最大分支数(默认值:10)
  • reflectionInterval:思考中的反思间隔(默认值:3)
  • similarityAlgorithm:相似度算法(默认值:'levenshtein',选项:'jaccard','cosine')
  • enableSimilarityCache:启用相似度缓存(默认值:true)
  • maxCacheSize:缓存的最大大小(默认值:1000)

CoConuT 工具的参数

CoConuT 工具接受以下输入参数:

  • thought:推理过程中当前思考的文本
  • nextThoughtNeeded:指示是否需要下一个思考(true),或者链是否已完成(false)
  • thoughtNumber:此思考在链中的序号
  • totalThoughts:解决问题所需的估计总思考数(至少需要 3 个思考)
  • isRevision:指示此思考是否修改了先前的思考
  • revisesThought:正在修改的思考的编号
  • branchFromThought:此分支开始的思考的编号
  • branchId:当前分支的唯一标识符
  • needsMoreThoughts:指示问题是否需要比最初计划的更多的思考
  • score:与此思考相关的分数或置信度(0-10)
  • inputType:用户期望的输入类型
  • problemStatus:问题解决的当前状态的描述
  • options:供用户选择的选项列表
  • numberArray:作为输入提供的数字数组
  • Call_CoConuT_Analyser:指示是否应调用思考链分析器

CoConuT_Analyser 工具的参数

CoConuT_Analyser 工具允许分析当前的思考链:

  • thoughts:包含要分析的思考的数组
  • userQuery:用户的原始查询,用于验证对齐
  • projectPath:项目的路径,用于附加上下文

CoConuT_Storage 工具的参数

CoConuT_Storage 工具允许保存结构化结论:

  • projectPath:项目目录的绝对路径,文件将保存在该目录中
  • WhyChange:解释为什么需要更改或是什么促使了该操作
  • WhatChange:描述已修改或实现的内容
  • category:更改的主要类别(feature、bugfix、refactoring 等)
  • subCategories:用于更具体分类的子类别
  • tags:用于改进更改的搜索和分类的标签
  • impactLevel:更改对系统的影响级别(low、medium、high)
  • affectedFiles:受更改影响的文件列表
  • codeSnippets:显示所做更改的代码片段
  • relatedConclusions:相关结论的 ID
  • ticketReference:对跟踪系统中票证/问题的引用
  • businessContext:解释更改价值的业务上下文
  • technicalContext:有关受影响架构的附加技术上下文
  • alternativesConsidered:已考虑但被拒绝的替代方案
  • testingPerformed:用于验证更改的已执行测试的描述

数据存储

数据始终是持久化的,文件保存在模型通过参数 projectPath 提供的路径下的名为 coconut-data 的文件夹中。重要的是,模型提供有效的绝对路径,以确保数据的正确存储。

服务器配置

  • name:服务器名称
  • version:服务器版本(默认值:'1.0.0')
  • transport:传输类型(固定为 'stdio')

日志配置

  • minLevel:最小日志级别(默认值:'info',选项:'debug','warn','error')
  • enableConsole:在控制台中记录日志(默认值:true)
  • includeTimestamp:在日志中包含时间戳(默认值:true)
  • logFilePath:日志文件的路径(可选)

使用

用于开发:

npm run dev

用于生产:

npm run build
npm start

使用示例

使用 CoConuT

要启动思考链:

{
  "thought": "分析问题的第一步...",
  "thoughtNumber": 1,
  "totalThoughts": 5,
  "nextThoughtNeeded": true
}

使用 CoConuT_Analyser

要分析思考链:

{
  "thoughts": [
    {"thought": "第一个思考...", "thoughtNumber": 1}, 
    {"thought": "第二个思考...", "thoughtNumber": 2}
  ],
  "userQuery": "用户的原始问题"
}

使用 CoConuT_Storage

要保存结论:

{
  "projectPath": "/caminho/absoluto/do/projeto",
  "WhyChange": "更改的原因",
  "WhatChange": "更改的描述",
  "category": "feature",
  "tags": ["api", "performance"]
}

响应结构

CoConuT 工具的响应包括:

  • thoughtNumber:当前思考的编号
  • totalThoughts:解决问题所需的估计总思考数
  • nextThoughtNeeded:是否需要继续进行更多思考
  • analysis:思考链分析的结果(如果已执行)
  • branches:所有可用分支的列表
  • currentBranch:当前分支
  • thoughtHistoryLength:思考历史记录的大小
  • hasCycle:指示是否在推理中检测到循环
  • savedFiles:有关操作期间保存的文件的信息
  • inputDescriptions:该工具的所有输入参数的详细描述
  • 其他可选字段,如 reflexionPointsactioninputTypemessageoptions 等。

可用工具

MCP 服务器公开以下工具:

CoConuT

CoConuT 工具的主要实现,该工具管理具有自动循环检测、分支和反思的思考链。

CoConuT_Analyser

用于分析思考链的工具,该工具检查:

  • 推理是否在正确的轨道上
  • 是否需要来自用户的更多信息
  • 估计的思考数量是否合适

CoConuT_Storage

用于以结构化方式记录结论和记录更改的工具:

  • 以 markdown 格式保存结论
  • 支持丰富的元数据(标签、类别、影响)
  • 允许引用代码和文件
  • 方便搜索和情境化更改

架构

该项目使用具有依赖注入的模块化架构:

  • index.ts:配置 MCP 服务器的入口点
  • config.ts:集中式配置
  • modules/
    • coconut/:CoConuT 的主要实现
    • analyser.ts:思考链分析器的实现
    • coconut-storage.ts:结论生成和存储系统
    • branch/:分支管理
    • cycle-detector/:思考中的循环检测
    • input/:输入管理系统
    • formatters/:响应格式化程序
    • utils/:共享实用程序
  • logger.ts:日志记录系统
  • storage.ts:数据持久性
  • factory.ts:用于创建组件的工厂
  • types.ts:类型和接口定义

贡献

欢迎贡献!请按照以下步骤操作:

  1. Fork 该项目
  2. 为您的功能创建一个分支 (git checkout -b feature/nova-funcionalidade)
  3. 使用测试实现您的功能
  4. 提交您的更改 (git commit -m '添加新功能')
  5. 将其推送到分支 (git push origin feature/nova-funcionalidade)
  6. 打开一个 Pull Request

许可证

该项目已获得 MIT 许可证 的许可。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python