fd-daas-mcp
OfficialDAAS - データ・アズ・ア・サービス
金融・経済・統計データのための階層型データプラットフォーム — 統合MCPサーバーの背後にある単一のSQLiteファイル(daas.db)で、データ取得はfd-open-data-mcpアップストリームに委譲されます。
これは何か? Pythonデータライブラリ(
akshare、yfinance、edgar、edinet-tools、dartlab、world_bank_data、ckanapi)を、単一のSQLiteファイルに支えられた、検索可能・指標計算可能・ダッシュボード対応のストアに変えるローカルデータプラットフォームです。Claude Codeスキル(ワークフローマニフェストを呼び出す薄いシェル)または統合fd-daas-mcpMCPサーバーを介して操作します。どちらの経路も同じデータベースを読み書きします。
アップストリーム:
fd-open-data-mcpデータフェッチャーは、~/finddata/fd-open-data-mcpにある兄弟リポジトリです(install.shによって自動的にクローンされます)。
ドキュメントサイト: 完全なロールベースのドキュメントは
docs-site/にあります(MkDocs Material、EN+ZHのバイリンガル)。ローカルではuv run mkdocs serveで閲覧できます(/DAAS/でブラウズ)。またはuv run mkdocs build --strictで厳密にビルドできます。ビルド/サーブ/デプロイについてはdocs-site/README.mdを参照してください。
アーキテクチャ
厳密な下方向依存 — レイヤーが上に遡ることはありません。
L3 user MCP compositions (composite manifests, served in-proc on fd-daas-mcp)
L2 workflow manifests (daas.db `workflows` table + engine, run via workflow_run)
L1 fd-daas-mcp (consolidated infra: daas/cron/alerts/dashboard/composite/research/pdf/gateway/workflow)
L0 fd-open-data-mcp (sole data-fetch upstream; concept-based semantic fetcher + entity master)L0 — fd-open-data-mcp(兄弟リポジトリ): 唯一のデータ取得サーフェス。ランキング/フェイルオーバー/キャッシュを備えたコンセプトベースのセマンティックフェッチャーで、エンティティマスター(
entities、entity_datasource_links)を保持します。HTTPで:8300に提供(stdioフォールバック)。従来の11個のソース別データ取得MCPを置き換えます。L1 — fd-daas-mcp(このリポジトリ): 統合stdioサーバーであり、リポジトリルートの
.mcp.jsonにある唯一のエントリです。1つのサーバーと1つのfd-daas-mcpClick CLIの背後で、9グループにわたる161ツール(daas · cron · alerts · dashboard · composite · research · pdf · gateway · workflow)を公開します。薄い統合レイヤーはfd-daas-mcp/daas/fd_daas_mcp/(server.py/registry.py/cli.py/selfcheck.py)で、各グループのツールコードはパッケージ内のfd-daas-mcp/<group>-mcp/にあります。L2 — ワークフローマニフェスト: マニフェストは
daas.dbのworkflowsテーブルに格納されます(workflow_registerで登録、workflow_runで実行)。build_workflow_from_goalは自然言語のゴールをLLM経由でマニフェストに分解します。L3 — ユーザーMCPコンポジション: コンポジットマニフェスト(
{name, upstreams, tools, workflows, prompt})は、統合サーバー上でプロセス内提供される名前付きMCPサーフェスをキュレーションします。CRUDはcomposite_*_manifest経由です。
フェッチスキル(fd-daas-based-data-fetch、fd-daas-fetch-data、fd-daas-research)は薄いシェルです: パラメータ収集 → workflow_run(name, params) → チェックポイント処理。これらはPythonデータライブラリを直接呼び出しません — フェッチはL1→L0を通って下がります。
完全なアーキテクチャ、規約、daas.dbスキーマリファレンスについては、CLAUDE.mdとconstruction/mcp.mdを参照してください。
Related MCP server: coin-mcp
インストールとクイックスタート
要件: Python 3.10+ と uv。dartlabのフェッチには3.12が必要です — uv run --python 3.12 --with dartlab ...で実行してください。
ワンクリックインストール(DAAS + アップストリームをクローンし、venvをプロビジョニングし、daas.dbを初期化し、.mcp.jsonをローカライズします):
curl -fsSL https://raw.githubusercontent.com/FindDataTechnology/fd-daas-mcp/master/install.sh | sh環境変数の上書き: DAAS_DEST(デフォルト~/code/DAAS)、DAAS_BRANCH、FINDDATA_HOME(デフォルト~/finddata)。手動の手順は以下。
# 1. Provision the root venv (data libs are declared deps)
uv sync
# 2. Provision the database - creates daas.db (full schema + dep-free starter
# catalog of sources). DAAS_DATABASE_URL is OPTIONAL: unset, it defaults to
# ./daas.db (writable cwd) or ~/.fd-daas-mcp/daas.db. Set it only to relocate.
fd-daas-mcp/.venv/bin/fd-daas-mcp init # one-shot provision + seed
fd-daas-mcp/.venv/bin/fd-daas-mcp doctor # read-only health check (path, schema, row counts)
# 3. Configure credentials - create a repo-root .env for the source keys you need
# (listed in Environment Variables below). Scripts auto-load .env; no manual export.
# 4. Compute an existing indicator (upserts into observations)
uv run python .claude/skills/fd-daas-based-data-fetch/scripts/run_indicator.py SPY_ma5
# 5. Query daas.db directly (db lives at the resolved DAAS_DATABASE_URL, default ./daas.db)
sqlite3 daas.db "SELECT name, datasource, op FROM indicator_rules LIMIT 10"
sqlite3 daas.db "SELECT source, COUNT(*) FROM observations GROUP BY source"
# 6. Launch / health-check the consolidated server
fd-daas-mcp/bin/fd-daas-mcp-server # stdio server (what .mcp.json launches)
fd-daas-mcp/.venv/bin/python -m daas.fd_daas_mcp.selfcheck # registry + tool health check (target: failed=0)
# 7. Run a workflow manifest (L2 — the fetch path goes L1→L0)
fd-daas-mcp/.venv/bin/python -c "
from daas_mcp_workflow_tools import workflow_run # or via the MCP tool
print(workflow_run('fetch-and-persist', params_json='{\"entity\":\"SPY\",\"indicator\":\"ma5\"}'))
"上記のクイックスタートコマンドはこのリポジトリに対して検証済みです: SPY_ma5は実際のindicator_rules行であり、fd-daas-mcpレジストリは9ソースにわたる161ツールを報告します(オプションのpdfグループはfailed=0, skipped_optional=1)。
プロジェクト構造
daas/
├── .claude/skills/ # Claude Code skills (fd-daas-based-data-fetch is the core fetch shell)
├── fd-daas-mcp/ # Consolidated MCP server — sole .mcp.json entry (161 tools, 9 groups)
│ ├── alerts-mcp/ # alert rule engine + 7 notification channels
│ ├── composite-mcp/ # user MCP composition (curate tools + embed workflows + prompt)
│ ├── cron-mcp/ # task + schedule registry (DB-backed)
│ ├── daas-mcp/ # datasource/function/indicator/entity catalog + compute + rules
│ ├── dashboard-mcp/ # standalone-HTML dashboard registry + query
│ ├── gateway-mcp/ # L0 upstream registry + call routing (former leader gateway half)
│ ├── workflow-mcp/ # manifest-based multi-step data workflows (former leader workflow half)
│ ├── pdf-mcp/ # local PDF/text semantic search (sqlite-vec) [optional]
│ ├── research-mcp/ # persisted research bundle (collections + indicators + dashboard + report)
│ ├── bin/fd-daas-mcp-server # launcher
│ └── daas/fd_daas_mcp/ # server.py / registry.py / cli.py / selfcheck.py
├── daas.db # Shared SQLite database (ships as a demo dataset: registry + observations + scraw_*)
├── dashboards/ # Standalone HTML dashboards (+ index.html, daas.md)
├── construction/ # Architecture docs (mcp.md — layered L0/L1/L2/L3)
└── .env # DAAS_DATABASE_URL, proxy, source auth keys, LLM config, ...daas.db データモデル
DAAS_DATABASE_URLのパスにある単一のSQLiteファイル(相対sqlite:///パスはリポジトリルートに対して解決されます。FKカスケード用にPRAGMA foreign_keys=ON、「database is locked」を回避するためにPRAGMA journal_mode=WAL + busy_timeout=10000)。テーブルはロールごとにグループ化されます:
ロール | テーブル | 保持内容 |
レジストリ / カタログ |
| データソース/関数/列カタログ; 銘柄/国とそのソース識別子; インジケーターバインディング(テーブル + 列 + 操作 + パラメータ) |
計算済みシリーズ |
| インジケーター出力 — 1行に1つの |
取得済みソースデータ |
| フェッチによって取得された生の行( |
コレクション + ルール |
| エンティティ/インジケーターの名前付きグループ + 追加/削除の監査ログ; 統合 |
MCP運用 |
| ダッシュボードレジストリ、アラートエンジン、cron状態、ゲートウェイ/ワークフロー/コンポジット/リサーチ状態 |
リポジトリルートから直接クエリできます: sqlite3 daas.db "SELECT …"。
スキル(.claude/skills/)
スキルはプレーンなMarkdown(SKILL.md)+ Pythonスクリプトです。フェッチスキルはパラメータを収集してworkflow_runを呼び出す薄いシェルです — これらはPythonデータライブラリを直接呼び出しません(フェッチはL1→L0を通ります)。
スキル | 目的 |
|
|
| エンティティ → カバレッジ → インジケーターのワークフロー(sqlite3 + コアスクリプト)。 |
| 分析 → [コレクション] → インジケーター → ダッシュボードをオーケストレーションし、 |
| 対話を通じてリサーチゴールを明確化 → |
| 取得したシリーズを |
| スタンドアロンのECharts HTMLダッシュボードを構築して登録します。 |
| 既存のダッシュボードを検索 / 開く / 検査します(読み取り専用)。 |
| ルールベースのエンティティコレクションの定義 / 日常的なコレクション操作。 |
| インジケーターコレクションをキュレーションし、解決済みスコア付きのCSV/Markdownをエクスポートします。 |
| 統合ルール(json/script/position/llm)を作成し、コレクションにアタッチし、ドライランして同期します。 |
| PDF/テキストをローカルベクターストア(sqlite-vec)に取り込み、セマンティック検索します。 |
| Scraplingを介してアンチボット保護されたページ(Cloudflare/JSレンダリング)をスクレイピングします。 |
| daasスキルの作成/最適化とレビュー/テスト。 |
| ユーザーMCPコンポジション(L3)をスキャフォールドします: インタビュー → マニフェスト → 登録 → セルフチェック。 |
| インフラ: スキルの作成/最適化、reset/scraw/datasourceビルダー、OpenSpec変更ライフサイクル。 |
MCPツールグループ(fd-daas-mcp)
統合サーバーは9グループにわたる161ツールを公開します(オプションのpdfグループはfailed=0, skipped_optional=1)。カタログはグループレベルです(ツールごとの詳細はサーバー自身のイントロスペクション / selfcheck経由)。
{ "mcpServers": { "fd-daas": { "command": "fd-daas-mcp-server" } } }
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP: 3665 structured web-data tools across 472 platform groups.
Hosted MCP servers for US federal data: 19 servers, 147 tools, one endpoint.
75 MCP tools: SEC financials, FRED economics, IRS 990, FDA, FX, UK Companies House.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEconomic data MCP server that connects FRED, BLS, BEA, IMF, World Bank, and ECB to any MCP-compatible client, with built-in methodology rules to guide LLMs in selecting appropriate economic indicators.MIT
- AlicenseAqualityDmaintenanceA comprehensive cryptocurrency market-data MCP server with 49 tools across six data sources, enabling LLMs to answer market questions via natural language.49MIT
- FlicenseAqualityDmaintenanceMCP server that enables semantic search over macroeconomic data using the Lambda Capture API.110-
- AlicenseAqualityBmaintenanceUnified MCP server for querying CSV, Postgres, and REST API data sources via embedded DuckDB, enabling cross-source SQL joins with no external query service.714 npmMIT