Factsets MCP Server について
Factsetsは、SQLiteで事実、リソース、スキル文書、実行ログを管理する、AIエージェント向けのローカルで永続的なナレッジベースです。古くなった内容を検出し、タグ検索やエージェント向けのコンテキスト、メンテナンス案内を提供します。
主な機能
- 01事実とリソースをセッション間で保持
- 02古いリソースを検出し更新案内を提供
- 03タグによる整理と検索
- 04Markdownスキルと依存関係の管理
- 05コマンド実行結果の記録
- 06ユーザー設定とエージェントの動作を構成
活用シーン
- 01プロジェクトのコンテキストをセッション間で保持
- 02タスクに関連する事実やリソースを検索
- 03スキル文書と関連コンテンツをメンテナンス
- 04リソースの更新要否を確認
MCP 対応
FactsetsはMCPサーバーを通じて、事実、リソース、スキル、実行ログを管理するツールと、コンテキストやメンテナンス用のプロンプトを提供します。セットアップやユーザー設定用のプロンプトも備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Factsets
| Package | |
| CI/CD |
Model Context Protocol (MCP)を通じて公開される、AI エージェント向けの自己維持型ナレッジベースです。SQLite を使用して、事実(原子的な知識)、リソース(キャッシュされた外部コンテンツ)、スキル(手順を記した Markdown)、および実行ログ(コマンド履歴)を管理します。
機能
- 永続的なコンテキスト - セッションをまたいで知識を保持します
- 自己維持 - 古い情報を検出し、更新手順を提示します
- タグベースの整理 - 柔軟な分類と検索が可能です
- スキルドキュメント - 手順に関する知識を記述した Markdown ファイルです
- ユーザー設定 - 出力スタイルとエージェントの動作を設定できます
- 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 との統合を含めて、既存のスキルを移行します
- 主要な設定ファイルをリソースとして登録します
この初回のみのセットアップにより、以後のすべてのやり取りでエージェントが十分なコンテキストを得られます。
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/)。クライアントやスキルディレクトリを変更する場合は、エージェントを通じて行ってください。エージェントがスキルを移行します。
すべてのオプションについては、設定ガイドを参照してください。
コアコンセプト
| コンセプト | 説明 |
|---|---|
| ファクト | タグとタイムスタンプが付与された、原子的な知識単位(1〜3 文) |
| リソース | キャッシュされたスナップショットと取得方法を備えた外部コンテンツ(ファイル、URL、API) |
| スキル | 手続き的知識を記した Markdown ドキュメント。ファイルシステムに保存されます |
| 実行ログ | スキルの検証用に成功・失敗を追跡するコマンド履歴 |
| タグ | すべてのコンテンツタイプに使える柔軟な分類 |
MCP ツール
ファクト
| ツール | 説明 |
|---|---|
submit_facts | タグとソース追跡情報を付けてファクトを追加 |
search_facts | タグ、内容、フィルターでファクトを検索 |
verify_facts | ID を指定してファクトを検証済みとしてマーク |
verify_facts_by_tags | タグでファクトを一括検証 |
update_fact | ファクトの内容、メタデータ、タグを更新 |
delete_facts | 条件に基づいてファクトを削除 |
restore_facts | 論理削除されたファクトを復元 |
リソース
| ツール | 説明 |
|---|---|
add_resources | 取得方法を指定してリソースを登録 |
search_resources | タグ、種類、URI でリソースを検索 |
get_resources | ID または URI でリソースを鮮度情報とともに取得 |
update_resource_snapshot | 単一リソースのキャッシュ済みコンテンツを更新 |
update_resource_snapshots | キャッシュ済みコンテンツを一括更新 |
update_resource | リソースのメタデータを更新(コンテンツは対象外) |
delete_resources | リソースを削除 |
restore_resources | 論理削除されたリソースを復元 |
スキル
| ツール | 説明 |
|---|---|
create_skill | Markdown のスキルドキュメントを作成 |
update_skill | スキルのメタデータ/参照を更新 |
search_skills | タグまたはクエリでスキルを検索 |
get_skills | 名前を指定してコンテンツ付きでスキルを取得 |
link_skill | スキルをファクト/リソース/スキルにリンク |
sync_skill | ファイル編集後にスキルを同期 |
delete_skills | スキルを削除 |
get_dependency_graph | スキルの依存関係ツリーを取得 |
restore_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 | エージェントのワークフローガイドを取得します(最初に呼び出してください) |
get_concept_guide | 概念の概要と設計理念を取得します |
get_config_guide | すべてのオプションを含む設定ガイドを取得します |
MCP プロンプト
| プロンプト | 説明 |
|---|---|
setup | 新しいプロジェクト連携のためのガイド付きセットアップ |
user_preferences | 出力形式に関するユーザー設定を取得します |
knowledge_context | タグからコンテキストを構築します |
recall_skill | 参照情報付きでスキルを取得します |
maintenance_report | 古さの概要 |
refresh_guide | リソースを更新する手順 |
agent_guide | エージェントのワークフローガイド(最初に呼び出してください) |
concept | 概念と理念の概要 |
config | すべてのオプションを含む設定ガイド |
ドキュメント
- 設定ガイド - CLI フラグ、クライアントの設定、スキルのディレクトリ
- 設計リファレンス - API の完全なドキュメント
- コンセプト - 理念と設計の根拠
- エージェントのワークフロー - エージェントによる Factsets の使用方法
開発
# 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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。