mcpField
F
Factsets MCP Server

Factsets MCP Server

本地服务
github.com/joshua-auchincloss记忆与知识144 周前更新

关于 Factsets MCP Server

Factsets 是面向 AI Agent 的本地持久知识库,通过 SQLite 管理事实、资源、技能文档和执行日志。它支持过时内容检测、标签检索及面向 Agent 的上下文和维护指南。

主要功能

  1. 01跨会话保存事实与资源
  2. 02检测过时资源并提供刷新指南
  3. 03按标签组织和检索内容
  4. 04管理 Markdown 技能及依赖关系
  5. 05记录命令执行结果
  6. 06配置用户偏好和 Agent 行为

适用场景

  1. 01为项目保留跨会话上下文
  2. 02检索与任务相关的事实和资源
  3. 03维护技能文档及其关联内容
  4. 04检查资源是否需要刷新

MCP 相关

Factsets 通过 MCP 服务向客户端提供管理事实、资源、技能和执行日志的工具,并提供上下文及维护相关提示词。它还包括引导设置和用户偏好等提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"joshua-auchincloss-factsets": {
"command": "npx",
"args": [
"-y",
"factsets"
]
}
}
}
启动命令npx -y factsets

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfactsets0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Factsets

PackageNPM Downloads NPM Version
CI/CDRelease Tests codecov

一个面向 AI Agent 的可自维护知识库,通过 Model Context Protocol (MCP) 提供服务。使用 SQLite 管理 事实(原子知识)、资源(缓存的外部内容)、技能(过程性 Markdown)和 执行日志(命令历史)。

功能

  • 持久化上下文 - 知识可在不同会话间延续
  • 自维护 - 检测内容过时并提供刷新说明
  • 基于标签的组织方式 - 灵活分类和检索
  • 技能文档 - 用于过程性知识的 Markdown 文件
  • 用户偏好 - 可配置的输出风格和 Agent 行为
  • MCP 协议 - 用于 AI 工具和提示词定义的标准接口

安装

npm install --global factsets
pnpm install --global factsets
bun install --global factsets

快速开始

作为 MCP 服务

根据需要使用 bunx、npx 或 pnpm dlx,将其添加到 MCP 客户端配置中(Claude Desktop、GitHub Copilot、Cursor 等):

{
  "mcpServers": {
    "factsets": {
      "command": "bunx",
      "args": ["factsets", "mcp-server"]
    }
  }
}

或直接运行:

bunx factsets mcp-server
首次设置

将 Factsets 添加到 MCP 客户端后,运行设置提示词,将其集成到项目中:

在受支持的 IDE 中:在聊天中输入 /mcp.factsets.setup,运行引导式设置

在其他客户端中:调用 get_setup_guide 工具或使用 setup 提示词

设置指南将:

  • 分析项目结构并建立基准事实
  • 为 AI 客户端配置技能目录
  • 使用 Factsets 说明创建或更新 AGENTS.md
  • 迁移任何现有技能,并集成 Factsets
  • 将关键配置文件注册为资源

一次性设置可确保 Agent 在今后的每次交互中都拥有完整上下文。

CLI 命令
# Start MCP server (default command - auto-watches skill files and seeds starter content)
bunx factsets [--database-url <path>] [--client <type>]

# Explicit mcp-server command (same as above)
bunx factsets mcp-server [--database-url <path>] [--client <type>]

# Start without file watching
bunx factsets --no-watch-skills

# Start without seeding starter content
bunx factsets --no-seed

# Run file watcher standalone
bunx factsets watch-files [--database-url <path>]

# Run background maintenance worker
bunx factsets worker [--database-url <path>]

# Export database to JSON
bunx factsets dump backup.json

# Restore database from JSON
bunx factsets restore backup.json

--client 标志用于配置技能文件的存储位置(例如,github-copilot -> .github/prompts/skills/)。如果要更换客户端或技能目录,请通过你的 Agent 操作,它会为你迁移技能。

有关所有选项,请参阅配置指南。

核心概念

概念描述
Facts原子化知识单元(1-3 个句子),带有标签和时间戳
Resources外部内容(文件、URL、API),包含缓存快照和检索方法
Skills用于程序性知识的 Markdown 文档,存储在文件系统中
Execution Logs命令历史,记录成功/失败情况,用于验证 Skill
Tags用于所有内容类型的灵活分类

MCP 工具

Facts
工具描述
submit_facts添加 Facts,并附带标签和来源追踪
search_facts按标签、内容或筛选条件查询 Facts
verify_facts按 ID 将 Facts 标记为已验证
verify_facts_by_tags按标签批量验证 Facts
update_fact更新 Fact 的内容、元数据或标签
delete_facts按条件移除 Facts
restore_facts恢复软删除的 Facts
Resources
工具描述
add_resources注册 Resources,并附带检索方法
search_resources按标签、类型或 URI 查找 Resources
get_resources按 ID 或 URI 获取 Resources,并查看时效性
update_resource_snapshot更新单个 Resource 的缓存内容
update_resource_snapshots批量更新缓存内容
update_resource更新 Resource 元数据(不含内容)
delete_resources移除 Resources
restore_resources恢复软删除的 Resources
Skills
工具描述
create_skill创建 Markdown Skill 文档
update_skill更新 Skill 元数据/引用
search_skills按标签或查询内容查找 Skills
get_skills按名称获取 Skills 及其内容
link_skill将 Skill 链接到 Facts/Resources/Skills
sync_skill文件编辑后同步 Skill
delete_skills移除 Skills
get_dependency_graph获取 Skill 依赖树
restore_skills恢复软删除的 Skills
执行日志
工具描述
submit_execution_logs记录命令/测试/构建执行情况
search_execution_logs按查询内容、标签和成功状态查找执行记录
get_execution_log按 ID 获取执行详情
标签
工具描述
create_tags创建组织标签
list_tags列出标签及其使用次数
update_tags更新标签描述
prune_orphan_tags清理未使用的孤立标签
配置
工具描述
get_config按键获取配置值
set_config设置配置值
delete_config删除配置值
list_config列出所有配置及其架构
get_config_schema获取可用选项及其说明
用户偏好
工具描述
get_preference_prompt获取自然语言偏好提示词
get_user_preferences获取结构化偏好数据
infer_preference根据用户行为更新偏好
reset_preferences将偏好重置为默认值
维护
工具描述
check_stale查找过时的资源和依赖项
mark_resources_refreshed将资源标记为最新
上下文与指南
工具描述
get_knowledge_context根据标签构建上下文(事实/资源/技能)
build_skill_context获取包含格式化内容和引用的技能
get_maintenance_report生成过时情况/维护报告
get_refresh_guide获取刷新资源的说明
get_agent_guide获取 Agent 工作流指南(先调用)
get_concept_guide获取概念概述和设计理念
get_config_guide获取包含所有选项的配置指南

MCP 提示词

提示词描述
setup为新项目集成提供引导式设置
user_preferences获取用户对输出格式的偏好
knowledge_context根据标签构建上下文
recall_skill获取包含引用的技能
maintenance_report过时情况摘要
refresh_guide刷新资源的说明
agent_guideAgent 工作流指南(先调用)
concept概念概述和理念
config包含所有选项的配置指南

文档

开发

# Run tests
bun test

# Run full e2e (tests + build + dry run)
bun e2e

# Build distribution
bun dist

# Format code
bun format

# Lint
bun lint

# Generate database migrations
bun migrations

# Inspect MCP server with inspector
bun inspect

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。