Skip to main content
Glama

DAAS - データ・アズ・ア・サービス

金融・経済・統計データのための階層型データプラットフォーム — 統合MCPサーバーの背後にある単一のSQLiteファイル(daas.db)で、データ取得はfd-open-data-mcpアップストリームに委譲されます。

これは何か? Pythonデータライブラリ(akshareyfinanceedgaredinet-toolsdartlabworld_bank_datackanapi)を、単一のSQLiteファイルに支えられた、検索可能・指標計算可能・ダッシュボード対応のストアに変えるローカルデータプラットフォームです。Claude Codeスキル(ワークフローマニフェストを呼び出す薄いシェル)または統合fd-daas-mcp MCPサーバーを介して操作します。どちらの経路も同じデータベースを読み書きします。

アップストリーム: 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(兄弟リポジトリ): 唯一のデータ取得サーフェス。ランキング/フェイルオーバー/キャッシュを備えたコンセプトベースのセマンティックフェッチャーで、エンティティマスター(entitiesentity_datasource_links)を保持します。HTTPで:8300に提供(stdioフォールバック)。従来の11個のソース別データ取得MCPを置き換えます。

  • L1 — fd-daas-mcp(このリポジトリ): 統合stdioサーバーであり、リポジトリルートの.mcp.jsonにある唯一のエントリです。1つのサーバーと1つのfd-daas-mcp Click 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.dbworkflowsテーブルに格納されます(workflow_registerで登録、workflow_runで実行)。build_workflow_from_goalは自然言語のゴールをLLM経由でマニフェストに分解します。

  • L3 — ユーザーMCPコンポジション: コンポジットマニフェスト({name, upstreams, tools, workflows, prompt})は、統合サーバー上でプロセス内提供される名前付きMCPサーフェスをキュレーションします。CRUDはcomposite_*_manifest経由です。

フェッチスキル(fd-daas-based-data-fetchfd-daas-fetch-datafd-daas-research)は薄いシェルです: パラメータ収集 → workflow_run(name, params) → チェックポイント処理。これらはPythonデータライブラリを直接呼び出しません — フェッチはL1→L0を通って下がります。

完全なアーキテクチャ、規約、daas.dbスキーマリファレンスについては、CLAUDE.mdconstruction/mcp.mdを参照してください。


インストールとクイックスタート

要件: Python 3.10+ と uvdartlabのフェッチには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_BRANCHFINDDATA_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)。テーブルはロールごとにグループ化されます:

ロール

テーブル

保持内容

レジストリ / カタログ

sources, daas_functions, daas_function_columns, entities, entity_datasource_links, indicator_rules

データソース/関数/列カタログ; 銘柄/国とそのソース識別子; インジケーターバインディング(テーブル + 列 + 操作 + パラメータ)

計算済みシリーズ

observations

インジケーター出力 — 1行に1つの(source, function_name, indicator, date)ポイント。run_indicator.pyによってアップサートされます。ダッシュボードとアラートはこれを読み取ります。

取得済みソースデータ

scraw_<slug>

フェッチによって取得された生の行(upsert.pyによって自動生成)。observationsはこれらから計算されます。

コレクション + ルール

entity_collections*, indicator_collections*, rules, process_results

エンティティ/インジケーターの名前付きグループ + 追加/削除の監査ログ; 統合rulesストア(json/script/position/llm)がメンバーシップ + LLM抽出を駆動します

MCP運用

dashboards, alert_rules, alert_events, schedules, tasks, gateway_upstreams, workflows, workflow_runs, workflow_run_steps, composites, researches

ダッシュボードレジストリ、アラートエンジン、cron状態、ゲートウェイ/ワークフロー/コンポジット/リサーチ状態

リポジトリルートから直接クエリできます: sqlite3 daas.db "SELECT …"


スキル(.claude/skills/

スキルはプレーンなMarkdown(SKILL.md)+ Pythonスクリプトです。フェッチスキルはパラメータを収集してworkflow_runを呼び出す薄いシェルです — これらはPythonデータライブラリを直接呼び出しません(フェッチはL1→L0を通ります)。

スキル

目的

fd-daas-based-data-fetch (コアフェッチシェル)

daas.dbに対してエンティティ + インジケーターを解決し、workflow_run(name, params)でfd-open-data-mcp経由のフェッチを実行してscraw_* / observationsに永続化します。

fd-daas-fetch-data

エンティティ → カバレッジ → インジケーターのワークフロー(sqlite3 + コアスクリプト)。

fd-daas-research

分析 → [コレクション] → インジケーター → ダッシュボードをオーケストレーションし、researchバンドル + Markdownレポートとして永続化します。

fd-daas-brainstorm

対話を通じてリサーチゴールを明確化 → daas-doc/research/<plan>.mddaas.dbの状態は変更しません)。

fd-daas-indicators-creator

取得したシリーズをscraw_<slug>テーブルに永続化します(手動更新 — cronなし)。

fd-daas-dashboard-creator

スタンドアロンのECharts HTMLダッシュボードを構築して登録します。

fd-daas-dashboard

既存のダッシュボードを検索 / 開く / 検査します(読み取り専用)。

fd-daas-entities-collection-creator / fd-daas-entities-collection

ルールベースのエンティティコレクションの定義 / 日常的なコレクション操作。

fd-daas-indicators-collection-creator

インジケーターコレクションをキュレーションし、解決済みスコア付きのCSV/Markdownをエクスポートします。

fd-daas-rules-creator

統合ルール(json/script/position/llm)を作成し、コレクションにアタッチし、ドライランして同期します。

fd-daas-pdf

PDF/テキストをローカルベクターストア(sqlite-vec)に取り込み、セマンティック検索します。[pdf]エクストラが必要です。

fd-daas-scrapling-official

Scraplingを介してアンチボット保護されたページ(Cloudflare/JSレンダリング)をスクレイピングします。

fd-daas-skill-creator / fd-daas-skill-review

daasスキルの作成/最適化とレビュー/テスト。

fd-coding-mcp-creator

ユーザーMCPコンポジション(L3)をスキャフォールドします: インタビュー → マニフェスト → 登録 → セルフチェック。

fd-coding-skill-creator, fd-coding-daas-*, openspec-*

インフラ: スキルの作成/最適化、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" } } }

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

  • MCP server connecting AI agents to non-custodial staking data across 130+ networks.

  • Hosted MCP server for personal tools: budgets, savings goals, spaced repetition, tips, countdowns.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FindDataTechnology/fd-daas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server