Factsets MCP Server
io.github.joshua-auchincloss/factsets·v0.2.0·1 starsAn MCP server that provides a local, persistent, self-maintaining knowledge base for AI agents
1 stars155 downloads/wk
Reviews
Write oneNobody has reviewed Factsets MCP Server yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Factsets MCP Server tools (48, 15 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_resourcesRegister one or more resources (files, URLs, APIs, commands) with metadata for tracking. The system stores retrieval methods - actual fetching is performed by you. Register immediately after fetching - don't wait for user prompting.
build_skill_contextBuild formatted context for a skill including its full content, tags, references, and optionally hydrated referenced skills. Returns markdown suitable for agent consumption.
check_staleCheck for stale resources, skills with changed dependencies, and unverified facts. Returns retrieval methods for stale resources so you can refresh them.
create_skillwrite actionCreate a new skill document. Skills are markdown files that capture procedural knowledge and can reference other skills, resources, and facts.
create_tagswrite actionCreate one or more tags for organizing facts, resources, and skills
delete_configwrite actionDelete a configuration value by key
delete_factswrite actionDelete facts by ID, tags, age, or verification status
delete_resourceswrite actionDelete resources by ID or URI. Also removes associated tags and skill references.
delete_skillswrite actionDelete skills by name. Optionally delete the skill files from disk.
get_configGet a configuration value by key
get_config_schemaGet the configuration schema showing all available options with descriptions, types, and defaults. Use this to discover configurable settings like freshness thresholds.
get_dependency_graphGet a dependency graph for a skill showing all connected skills, resources, and facts. Returns a tree structure with nodes and edges for visualization. Use this to fully saturate skill context before performing complex tasks.
get_execution_logGet a specific execution log by ID to see full details including output.
get_knowledge_contextBuild a knowledge context from tags. Returns formatted markdown with relevant facts, resources, skills, and staleness warnings. Use this to gather context before working on a task.
get_maintenance_reportGenerate a maintenance report showing stale resources, skills with changed dependencies, and unverified facts. Use this to identify knowledge base items that need attention.
get_preference_promptGenerate a natural language prompt describing all user preferences. Use this to understand how to format responses, code, and documentation according to user preferences.
get_refresh_guideGet step-by-step instructions for refreshing a specific resource. Returns guidance on how to fetch new content based on the resource's retrieval method.
get_resourceGet a specific resource by ID or URI. Returns the stored snapshot and retrieval method for you to refresh if needed.
get_resourcesRetrieve multiple resources by IDs or URIs in a single call. Returns found resources and lists any not found.
get_skillRetrieve a skill by name with its full content, tags, and references. Set hydrateRefs to include content of referenced skills.
get_skillsRetrieve multiple skills by name in a single call. Returns found skills and lists any not found.
get_user_preferencesGet all user preferences including communication style, code output, documentation, and interaction settings
infer_preferencewrite actionUpdate a user preference based on explicit statement or inferred behavior. Use when user indicates a preference (e.g., 'no emojis', 'be more concise'). Explicit preferences are always applied; inferred ones require high confidence.
link_skillAdd references from a skill to other skills, resources, or facts
list_configList all configuration values with their current settings
list_tagsList all tags in the knowledge base, optionally filtered by name pattern
mark_resources_refreshedMark resources as refreshed after you have verified their content is still valid
prune_orphan_tagsClean up orphan tags that have zero usage (not linked to any facts, resources, skills, or execution logs). Use dryRun=true to preview which tags would be deleted without actually deleting them.
reset_preferencesReset user preferences to defaults. Optionally specify keys to reset specific preferences only.
restore_factsRestore soft-deleted facts by their IDs. Returns the count of facts that were restored.
restore_resourcesRestore soft-deleted resources by their IDs. Returns the count of resources that were restored.
restore_skillsRestore soft-deleted skills by their names. Returns the count of skills that were restored.
search_execution_logsSearch execution history by tags, free text query, or success status. Find what commands were run, what worked, and learn from past experiments. Query searches across command, context, and output fields.
search_factsSearch for facts by tags, content query, verification status, or source type. Use this on every prompt to validate context before responding - not just at session start.
search_resourcesSearch for resources by tags, type, or URI pattern. Check for existing resources before registering new ones to avoid duplicates.
search_skillsSearch for skills by tags or title query. Check for existing skills before creating new ones to avoid duplicates.
set_configSet a configuration value. Use get_config_schema to see all available options with descriptions and valid values. Freshness settings control staleness thresholds in hours.
submit_execution_logswrite actionRecord execution logs for commands, tests, builds, or any actions. Captures command, output, success status, and tags for future reference. Use this to build institutional memory of what commands work for this project. Log immediately after running commands - don't batch or delay.
submit_factswrite actionSubmit one or more facts to the knowledge base. Facts with matching content will be updated. Call this immediately when learning something new - do not wait for user prompting.
sync_skillSync a skill's content hash after the file has been modified externally. Reads the skill file and updates the stored hash if changed.
update_factwrite actionUpdate an existing fact's content, metadata, source, verification status, or tags. Find the fact by ID or exact content match. Supports replacing all tags, appending new tags, or removing specific tags.
update_resourcewrite actionUpdate resource metadata (description, tags, retrieval method) without modifying snapshot content or lastVerifiedAt timestamp. Use this to fix placeholder descriptions or reorganize tags.
update_resource_snapshotwrite actionUpdate the snapshot content for a resource after you have fetched fresh data using the retrieval method
update_resource_snapshotswrite actionBulk update snapshot content for multiple resources. Each entry requires resourceId and snapshot content.
update_skillwrite actionUpdate an existing skill's metadata, tags, or references. Does not modify skill file content - use sync_skill after editing the file directly.
update_tagswrite actionUpdate descriptions for existing tags. Use this to replace auto-generated placeholder descriptions with meaningful content.
verify_factsMark one or more facts as verified/confirmed
verify_facts_by_tagsBulk verify all facts that have specified tags. By default, verifies facts with ANY of the tags. Set requireAll=true to only verify facts that have ALL specified tags. Returns the count and IDs of verified facts.
Public scan report
scanner v0.1.10 · 2026-10-01 · same rubric, same numbers if you re-run it
- Code scan202 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 201 days ago4/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evaldist/main.js: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…
How Factsets MCP Server compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 68/100
- higher than 30% of 48,255 servers
- Tools
- 48
- the typical server has 7
- Tools that change things
- 31%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 155
- more than 71% of 12,191 servers with a package
What its tools let an agent do: 29 read · 3 create · 12 change · 4 delete
Install Factsets MCP Server in Claude Code, Cursor or VS Code
Runs npx -y factsets on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add factsets -- npx -y factsets
What the publisher says
From the Factsets MCP Server repository's README, as published. We do not edit it. Read it on GitHub
Factsets
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 factsetsQuick 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-serverFirst-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 getsetupguide 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.md with 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>]Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Factsets MCP Server: common questions
- Is Factsets MCP Server safe?
- With care: it is graded C, so read the findings first (68/100). Read the Factsets MCP Server safety report
- How do I install Factsets MCP Server?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Factsets MCP Server need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Factsets MCP Server maintained?
- The last commit was 235 days ago (2026-03-14). The latest release is v0.2.0.
- How does Factsets MCP Server compare with other MCP servers?
- safety score 68/100 (higher than 30% of 48,255 servers); tools 48 (the typical server has 7); tools that change things 31% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.