Token导航 LogoToken导航TokenDH.com
Contextful MCP logo
搜索检索未说明官方级别未说明来源级核验

Contextful MCP

MCP Server

一个项目无关的MCP服务器,提供角色加载、文档搜索、代码搜索和缓存测试执行功能,为编码代理提供按需、排名的项目上下文访问。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
JavaScript代码搜索搜索

安装说明

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

作者 / 组织

ceejaykelly

提供方

ceejaykelly

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

情境化mcp

与项目无关的MCP服务器,用于角色加载、文档搜索、代码搜索和缓存测试执行。提供编码代理 按需、分级访问 在会话开始时,无需预先加载整个上下文窗口。

代币节省

度量基线结果
有效性与grep代理使用 grep -C 10 查找相关线路节省58.8%
有效性与文件代理在找到整个文件后读取它们节省了75.7%
质量(hit@5)结果集包含预期的文件或部分89%

在26个文件上测量,v0.4.02026-04-06。跑 bun benchmark.js --update-readme 再生。

docs/benchmarks.md 方法论。

______________________________________________________________________

推荐的工作流程

  1. get_status --检查哪些功能可用,以及角色是否已经处于活动状态。
  2. list_personasload_persona --为您的任务选择并安排合适的专家。
  3. search_docs --在打开完整文件之前拉取目标文档部分。
  4. search_code --在读取完整文件之前找到相关的代码块。
  5. 使用 get_doc / get_code_file 只有当你需要完整的内容时。

______________________________________________________________________

配置

已配置 专门地 通过环境变量——没有配置文件或CLI参数。

在中设置变量 env 你的块 .mcp.json (或等效的主机配置)。\ 省略变量 禁用相应功能 并完全移除其工具。

所有环境变量

变量类型默认值描述
CONTEXTSERVER_REPOROOTstring服务器目录测试命令和相对路径解析的基本目录。设置为 "." 使用MCP主机的工作目录。
CONTEXTSERVER_DOCSLOCATIONSJSON数组--包含以下内容的目录 .md 文档文件。
CONTEXTSERVER_PERSONASLOCATIONSJSON数组--包含以下内容的目录 .md 代理角色文件。
CONTEXTSERVER_CODELOCATIONSJSON数组--用于代码搜索的索引目录。多个条目被合并到一个可搜索的索引中。
CONTEXTSERVER_WATCHLOCATIONSJSON数组自动导出要注意热重新加载的目录。默认为所有已配置内容位置的联合。
CONTEXTSERVER_BLOCK_SIZE整数(≥5)30每个代码块的最大行数。功能增加;减少扫描速度。
CONTEXTSERVER_CODE_EXTENSIONSJSON数组[".js",".ts",".jsx",".tsx",".json",".md"]索引的文件扩展名。例如 [".py",".go"] 对于Python/Go项目。前导点是可选的。
CONTEXTSERVER_URLSJSON数组--要获取、剥离、拆分为部分并包含在其中的外部URL search_docs 结果。
CONTEXTSERVER_URL_TTL整数(秒)3600在重新获取之前缓存获取的URL内容需要多长时间。
CONTEXTSERVER_TESTJSON对象--测试运行器配置(见下文)。

CONTEXTSERVER_TEST 对象字段

关键字类型默认值描述
commandsstring\[\][]要运行的Shell命令,例如。 ["bun test", "bun run typecheck"]每个都是按顺序执行的。
hashLocationsstring\[\][]对其文件进行哈希处理以检测更改的目录。如果哈希与缓存匹配,则跳过测试。
hashExtensionsstring\[\][".js",".ts",".jsx",".tsx",".json",".md"]计算哈希时要包含的文件扩展名。
cacheFile字符串.cache/test_cache.json写入结果缓存的路径(相对于 REPOROOT).
timeout整数(ms)30000每个命令超时(毫秒)。超过此值的命令将被终止并标记为失败。

示例 .mcp.json --单一回购

{
  "mcpServers": {
    "contextful-mcp": {
      "type": "stdio",
      "command": "/path/to/contextful-mcp.exe",
      "env": {
        "CONTEXTSERVER_REPOROOT": ".",
        "CONTEXTSERVER_DOCSLOCATIONS": "[\"./docs\"]",
        "CONTEXTSERVER_PERSONASLOCATIONS": "[\"./agent_personas\"]",
        "CONTEXTSERVER_CODELOCATIONS": "[\"./src\"]",
        "CONTEXTSERVER_TEST": "{\"hashLocations\":[\"./src\",\"./tests\"],\"commands\":[\"bun test\"],\"hashExtensions\":[\".js\",\".ts\"]}"
      }
    }
  }
}

示例——多个文档和代码目录

在JSON数组中提供多条路径。所有这些都被合并到一个可搜索的索引中。

"CONTEXTSERVER_DOCSLOCATIONS": "[\"./docs\", \"./packages/core/docs\", \"./packages/api/docs\"]",
"CONTEXTSERVER_CODELOCATIONS": "[\"./src\", \"./packages/core/src\", \"./packages/api/src\"]"

示例——多仓库(为两个单独的项目建立索引)

使用绝对路径同时对来自多个存储库的源进行索引。\ 这 directory= 过滤入 search_code 让代理将查询范围限定到特定的仓库。

"CONTEXTSERVER_REPOROOT": "/home/user/projects/backend",
"CONTEXTSERVER_CODELOCATIONS": "[\"/home/user/projects/backend/src\", \"/home/user/projects/frontend/src\"]",
"CONTEXTSERVER_DOCSLOCATIONS": "[\"/home/user/projects/backend/docs\", \"/home/user/projects/frontend/docs\"]"
提示: 使用 search_code(query, directory="backend/")search_code(query, directory="frontend/") 限制结果。

示例-索引外部URL(例如API参考文档)

提取的页面被剥离HTML,分割成多个部分,并在 search_docs 结果。

"CONTEXTSERVER_URLS": "[\"https://developers.cloudflare.com/workers/runtime-apis/\", \"https://bun.sh/docs/bundler\"]",
"CONTEXTSERVER_URL_TTL": "3600"

示例——Python/Go项目

"CONTEXTSERVER_CODE_EXTENSIONS": "[\".py\", \".pyi\"]",
"CONTEXTSERVER_BLOCK_SIZE": "50"

______________________________________________________________________

工具参考

工具是有条件注册的——只有那些配置了功能组的工具才会出现在代理的工具列表中。

始终可用

工具参数说明
get_status--索引统计信息(文件计数、块计数、节计数),启用了哪些功能,以及当前活动的角色。在加载角色之前检查此项——它可能已经处于活动状态。
get_usage--使用指南:所有可用工具、推荐的工作流程和特定功能的提示。新加入服务器时,请先调用此命令。
get_metrics--运行时性能指标:每个工具调用计数、平均延迟、索引重建计数、测试缓存命中率。
report_bad_resulttool, query, reason, expected?报告无效或错误的搜索结果。将结构化反馈记录到stderr,以帮助识别随时间推移的排名差距。

Persona工具-需要 CONTEXTSERVER_PERSONASLOCATIONS

工具参数说明
list_personas--列出所有角色名称及其单行目的。先称之为选择合适的角色。
load_personaname, full?, field?加载一个命名角色。默认情况下返回一张紧凑型卡。通过 full=true 对于完整的系统提示。通过 field= (例如。 "tools", "background", "use_cases",或任何 ## heading)检索单个属性而不加载所有内容。
create_personaname, description, prompt_body, use_cases?, tools?, background?, overwrite?编写一个新的结构化角色 .md 文件并立即索引

文档工具——需要 CONTEXTSERVER_DOCSLOCATIONS (或 CONTEXTSERVER_URLS)

工具参数说明
list_docs--列出所有索引文档文件及其标题。
search_docsquery, limit? (默认值为5,最大值为10)在所有文档文件中进行分级部分搜索 任何索引的URL。返回包含源、标题和评分层(强/部分/弱)的部分。章节的长度上限约为600个字符;使用 get_doc 如果结果被截断。
get_docname, section?文档文件的完整内容。通过 section= 只返回一个已命名的 ## 标题(不区分大小写的子字符串匹配)。更喜欢 search_docs 用于有针对性的查询。
analyze_docname审核文档的节结构以确定搜索质量:标记过长、过短或结构错误的节,以便进行排名检索。

代码搜索工具--必需 CONTEXTSERVER_CODELOCATIONS

工具参数说明
search_codequery, is_regex?, language?, directory?, limit? (默认值5,最大值20)在所有索引的源文件中对代码块进行排序搜索。 language 按扩展名过滤(例如。 "ts"); directory 按路径子字符串过滤(例如。 "src/api/").使用 is_regex=true 对于正则表达式模式。返回带有文件路径和行号的得分块。
get_code_filepath索引源文件的完整内容。使用来自的路径 search_code 结果。

测试工具——需要 CONTEXTSERVER_TEST

工具参数说明
check_tests从这里开始。 运行测试(如果没有更改,则返回缓存结果)并返回紧凑的通过/失败。失败时,列出每个失败的测试及其文件路径和行号,以便您可以直接找到问题所在。更新缓存。
get_test_results--返回完整的测试输出(所有stdout+stderr)。仅在以下时间后致电 check_tests 报告失败,您需要完整的错误上下文。

______________________________________________________________________

备注

  • 锁定文件(例如。 bun.lock, package-lock.json)和压缩文件(.min.js)自动从代码索引中排除。
  • 多个目录中重复的角色或文档名称会向stderr发出警告;最后加载的文件获胜。
  • Hot reload监视配置的位置以进行更改,并重建索引(取消2秒)。 CONTEXTSERVER_WATCHLOCATIONS 默认为所有内容位置的联合,因此很少需要显式设置。
  • 数组env变量中的所有路径都可以是绝对路径,也可以是相对于 CONTEXTSERVER_REPOROOT.
  • CONTEXTSERVER_URLS 内容在启动时和每次热重新加载时(在TTL内)获取。在获取失败时,将保留之前缓存的内容。

目录标签

目录标签

JavaScript代码搜索搜索项目上下文管理本地部署文档搜索角色加载测试执行

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP