什么是 Factsets MCP Server?
为 AI agents 提供本地、持久且可自维护知识库的 MCP 服务器,便于长期记忆与检索。
README
Factsets
| Package | |
| CI/CD |
A self-maintaining knowledge base for AI agents, exposed via the Model Context Protocol (MCP). Manages facts (atomic knowledge), resources (cached external content), skills (procedural markdown), and execution logs (command history) using SQLite.
Features
- Persistent Context - Knowledge survives across sessions
- Self-Maintaining - Staleness detection with refresh instructions
- Tag-Based Organization - Flexible categorization and retrieval
- Skill Documents - Markdown files for procedural knowledge
- User Preferences - Configurable output style and agent behavior
- MCP Protocol - Standard interface for AI tool/prompt definitions
Installation
npm install --global factsets
pnpm install --global factsets
bun install --global factsets
Quick Start
As MCP Server
Add to your MCP client configuration (Claude Desktop, GitHub Copilot, Cursor, etc.), using bunx, npx or pnpm dlx accordingly:
{
"mcpServers": {
"factsets": {
"command": "bunx",
"args": ["factsets", "mcp-server"]
}
}
}
Or run directly:
bunx factsets mcp-server
First-Time Setup
After adding Factsets to your MCP client, run the setup prompt to integrate it into your project:
In a supported IDE: Type /mcp.factsets.setup in the chat to run the guided setup
In other clients: Call the get_setup_guide tool or use the setup prompt
The setup guide will:
- Analyze your project structure and establish baseline facts
- Configure the skills directory for your AI client
- Create or update
AGENTS.mdwith Factsets instructions - Migrate any existing skills with Factsets integration
- Register key configuration files as resources
This one-time setup ensures agents have full context on every future interaction.
CLI Commands
# 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
The --client flag configures where skill files are stored (e.g., github-copilot -> .github/prompts/skills/). If you want to change clients / your skill directory, do so through your agent which will migrate skills for you.
See Configuration Guide for all options.
Core Concepts
| Concept | Description |
|---|---|
| Facts | Atomic knowledge units (1-3 sentences), tagged and timestamped |
| Resources | External content (files, URLs, APIs) with cached snapshots and retrieval methods |
| Skills | Markdown documents for procedural knowledge, stored on filesystem |
| Execution Logs | Command history with success/failure tracking for skill validation |
| Tags | Flexible categorization for all content types |
MCP Tools
Facts
| Tool | Description |
|---|---|
submit_facts | Add facts with tags and source tracking |
search_facts | Query facts by tags, content, or filters |
verify_facts | Mark facts as verified by ID |
verify_facts_by_tags | Bulk verify facts by tags |
update_fact | Update fact content, metadata, or tags |
delete_facts | Remove facts by criteria |
restore_facts | Restore soft-deleted facts |
Resources
| Tool | Description |
|---|---|
add_resources | Register resources with retrieval methods |
search_resources | Find resources by tags, type, or URI |
get_resources | Get resources by ID or URI with freshness |
update_resource_snapshot | Update cached content for single resource |
update_resource_snapshots | Bulk update cached content |
update_resource | Update resource metadata (not content) |
delete_resources | Remove resources |
restore_resources | Restore soft-deleted resources |
Skills
| Tool | Description |
|---|---|
create_skill | Create markdown skill document |
update_skill | Update skill metadata/references |
search_skills | Find skills by tags or query |
get_skills | Get skills by name with content |
link_skill | Link skill to facts/resources/skills |
sync_skill | Sync skill after file edit |
delete_skills | Remove skills |
get_dependency_graph | Get skill dependency tree |
restore_skills | Restore soft-deleted skills |
Execution Logs
| Tool | Description |
|---|---|
submit_execution_logs | Record command/test/build executions |
search_execution_logs | Find executions by query, tags, success |
get_execution_log | Get execution details by ID |
Tags
| Tool | Description |
|---|---|
create_tags | Create organizational tags |
list_tags | List tags with usage counts |
update_tags | Update tag descriptions |
prune_orphan_tags | Clean up unused orphan tags |
Configuration
| Tool | Description |
|---|---|
get_config | Get a configuration value by key |
set_config | Set a configuration value |
delete_config | Delete a configuration value |
list_config | List all configuration with schema |
get_config_schema | Get available options with descriptions |
User Preferences
| Tool | Description |
|---|---|
get_preference_prompt | Get natural language preference prompt |
get_user_preferences | Get structured preference data |
infer_preference | Update preference from user behavior |
reset_preferences | Reset preferences to defaults |
Maintenance
| Tool | Description |
|---|---|
check_stale | Find stale resources and dependencies |
mark_resources_refreshed | Mark resources as current |
Context & Guides
| Tool | Description |
|---|---|
get_knowledge_context | Build context from tags (facts/resources/skills) |
build_skill_context | Get skill with formatted content and refs |
get_maintenance_report | Generate staleness/maintenance report |
get_refresh_guide | Get instructions for refreshing a resource |
get_agent_guide | Get the agent workflow guide (call first) |
get_concept_guide | Get conceptual overview and design philosophy |
get_config_guide | Get configuration guide with all options |
MCP Prompts
| Prompt | Description |
|---|---|
setup | Guided setup for new project integration |
user_preferences | Get user preferences for output formatting |
knowledge_context | Build context from tags |
recall_skill | Get skill with references |
maintenance_report | Staleness summary |
refresh_guide | Instructions to refresh a resource |
agent_guide | Agent workflow guide (call first) |
concept | Conceptual overview and philosophy |
config | Configuration guide with all options |
Documentation
- Configuration Guide - CLI flags, client setup, and skills directory
- Design Reference - Full API documentation
- Concept - Philosophy and design rationale
- Agent Workflow - How agents use Factsets
Development
# 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
常见问题
Factsets MCP Server 是什么?
为 AI agents 提供本地、持久且可自维护知识库的 MCP 服务器,便于长期记忆与检索。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。