Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
German Handelsregister + Austrian Firmenbuch for AI agents: master data, financials & ratios.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
X-API-Key「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
ターミナルでこれを実行します
claude mcp add --transport http handelsregister https://register.agentic-firmenbuch.at/mcp --header 'X-API-Key: your-value'動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"handelsregister": {
"url": "https://register.agentic-firmenbuch.at/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"handelsregister": {
"type": "http",
"url": "https://register.agentic-firmenbuch.at/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
X-API-Key 秘密 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーは、ツール一覧を表示する前にサインインを求めます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント jkbngb で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
358ミリ秒で応答(HTTP 401)
OAuthでのサインインに対応しているため、AIアプリがログイン画面へ案内してくれます
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:X-API-Key
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.3)がレジストリに届いたのは11 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, OpenTakeoff
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Austria's entire company register, queryable by AI agents in plain language. Official master data, annual accounts and key ratios for every firm – served over MCP, answered on real numbers instead of hallucinations.
[Try the playground](https://www.agentic-firmenbuch.at/playground.html) · [Start free: 50 credits, 7 days](https://www.agentic-firmenbuch.at) · [Quickstart ↓](#quickstart)
A live, automated data product over the Austrian Firmenbuch (free EU HVD / High Value Datasets), served through a multi-tenant MCP server. A deterministic Azure pipeline pulls the published Jahresabschluss (annual financial statement) filings from the official register, parses them, consolidates per company, computes ratios/growth/trends, and serves the result to MCP clients. The whole register holds ~640k legal entities; the served slice is currently ~341k and grows as the backfill progresses. Version 1 = facts + clean derivations only (no scoring, no third-party enrichment, no NACE, no AI summaries).
Also available: Germany and the wider DACH region. Alongside this Austrian product, a unified `agentic-register` endpoint serves both the Austrian Firmenbuch and the German Handelsregister / Unternehmensregister over a single MCP. It is listed in the official MCP registry as `io.github.jkbngb/handelsregister` (spec:
handelsregister.server.json) and reachable athttps://register.agentic-firmenbuch.at/mcpwith the same account and the same access rules (free trial, then Pro). A search returns matches from both countries, tagged bycountry(AT/DE).
Use the hosted service – query official Firmenbuch data from an MCP client that accepts an HTTP header key (Claude Code, VS Code with GitHub Copilot, Cursor, …):
claude mcp add --scope user --transport http agentic-firmenbuch https://mcp.agentic-firmenbuch.at/mcp --header "X-API-Key: <your-key>"
GitHub Copilot / VS Code: code --add-mcp "{\"name\":\"agentic-firmenbuch\",\"type\":\"http\",\"url\":\"https://mcp.agentic-firmenbuch.at/mcp\",\"headers\":{\"X-API-Key\":\" \"}}". Any other HTTP-MCP-Header client: URL https://mcp.agentic-firmenbuch.at/mcp, header X-API-Key: .
search_companies / get_company_details and answers with official data – no SDK required.Claude Cowork & claude.ai (sandboxed clients) don't take the API-key header – they connect via
Settings → Connectors → Add custom connectorwith the URLhttps://mcp.agentic-firmenbuch.at/mcpand a one-time email login (OAuth, no key). Step-by-step with screenshots: [agentic-firmenbuch.at/cowork.html](https://www.agentic-firmenbuch.at/cowork.html).
Prefer to try before signing up? Use the [playground](https://www.agentic-firmenbuch.at/playground.html).
Or run the pipeline yourself – clone, uv sync, uv run pytest (offline, no Azure). See Develop.
| Tool | Purpose |
|---|---|
search_companies | Filter / rank Austrian companies by region, size, balance-sheet total, equity ratio, revenue, growth profile, management age, last filing year, status. Returns a compact result card per match. |
get_company_details | Full served profile of one company: identity, location, founding/filing years, size class, multi-year balance sheet + P&L, 13 computed ratios, growth, management, list of filings. |
get_full_record | Superset of get_company_details: full 317-position UGB taxonomy, passthrough unknown codes, completeness, GuV-years, signatories history, derivations registry. |
get_company_history | Filing-by-filing time series of every reported position — one company, or a batch via fnrs (max 50; 1 credit per company found where credits apply). |
find_peers | K-nearest peer set for a company within its size class / region. |
get_cohort_summary | Aggregate statistics (counts, percentiles, distributions) for a filtered cohort. |
get_coverage | Per-Bundesland / per-Rechtsform / per-size-class coverage statistics for the served dataset. |
list_sectors | Available legal-form (Rechtsform) and Bundesland codes for use in filters. |
describe_fields | Self-describing field dictionary with type + null-rules + EBIT/EBITDA definition. |
get_document | Fetch the URL/blob key for an original filed annual statement (XML or PDF). |
get_document_text | Return the extracted text of a filed annual statement (parsed XML/PDF) for direct reading. |
list_documents | One newest-first chronology of a company's Abschluss documents: filed annual statements plus register-held PDFs (Konzernabschluss, HV-Protokoll) with their Dokumentart. |
search_person | Find companies by an officer / representative (managing directors, board members, signatories) by name. |
benchmark_company | Position one company against its peer cohort (percentile ranks on key metrics). |
list_events | Register-change events (name/seat/legal-form/capital/management changes, derived daily since 2026-07) for a company or cohort. |
get_event_stats | Aggregate event statistics (counts by type/period) across a filtered cohort. |
export_companies_csv | Export a filtered company set as a CSV download (server-generated, time-limited link). |
get_my_usage | The caller's own usage, plan, remaining trial credits and the upgrade link. |
ping | Connection test; always free. |
All tools return a processed derivative of official Austrian Firmenbuch data (source: BMJ – Justiz, CC BY 4.0). Concretely: we ingest the published filings from the register, parse and consolidate them, compute ratios, and serve that from our own database — no web scraping, no LLM-generated summaries, no third-party data mixed in (V1). Every response carries provenance.data_version + built_at and names the original source, so the agent can attribute it correctly; for the authoritative record, the official Firmenbuch always governs.
Currently served: ~341,000 active legal entities across all Rechtsformen (GmbH, AG, KG, OG, EU, Genossenschaft, Privatstiftung, SE …). The full register has ~640,000 entities; the gap is companies without a published Jahresabschluss plus inactive/deleted entries, which are added step by step.
Full index with the versioning convention (shipped _v1 specs vs. the forward ROADMAP.md + V2 design spec): [docs/README.md](docs/README.md). The headline documents:
| Doc | What it is |
|---|---|
| docs/pipeline-step-samples.md | File format + golden sample for every pipeline stage. |
| docs/FIELD_REFERENCE.md | Served field dictionary – every field each MCP tool returns, with type + null rules. Public page: felder.html. |
| ROADMAP.md | Forward plan – status/priorities and the V2 direction (banks/insurers, GISA, Ediktsdatei). |
| docs/appendix_position_mapping.json | Full 317-entry canonical position taxonomy → copied into products/agentic-firmenbuch/packages/core_at/…/mapping/. |
| docs/reference/ | Official source material (API reference, JAb 4.0 XSDs/Excel). |
agentic-first)This repository is the `agentic-first` monorepo umbrella. It separates source-agnostic shared code from per-source products, so another source-specific product can be added without touching the Austrian pipeline:
agentic-first/ (this repo)
├── packages/ SHARED — source-agnostic, zero Firmenbuch/UGB knowledge │ ├── core/ (fbl_core) lineage/meta + metric contracts, config, storage clients │ └── auth/ (fbl_auth) signup, token issue/validate, metering, 00_accounts └── products/ └── agentic-firmenbuch/ AUSTRIA product (live) — README below ├── packages/ │ ├── core_at/ (fbl_core_at) UGB taxonomy, Firmenbuch domain models, ÖNACE, FI dirs │ ├── firmenbuch_client, 99_registry, 90_ingest, 70_parse, │ │ 50_consolidate, 30_derive, 10_present, mcp_server, orchestration │ └── … └── tests/ AT integration tests + golden fixtures
Additional source-specific products are added in their own separate repositories that consume packages/{core,auth} as a dependency (they are not scaffolded here). The precise 1:1 / adapt / product-local reuse boundary is the reuse table (Appendix R) of the technical spec, and the generic recipe is in docs/monorepo/ADDING_A_PRODUCT.md.
Product READMEs: agentic-firmenbuch · shared core · auth
90 → 10)99_registry (foundation: all companies) → 90_raw (Blob) → 70_parsed (Blob) → 50_consolidated → 30_derived → 10_presentation → MCP
(Cosmos) (Cosmos) (Cosmos) side: 00_accounts (MCP signup) · 00_directories (register-based FI flag, OeNB) reserved for v2: 40_enriched, 20_scored
`90_raw` is the **immutable source of truth** (every downloaded XML/PDF, kept forever). `70_parsed`
is a write-through cache of the per-filing ParsedFiling JSON – always re-derivable from raw, so safe to drop/rebuild; it exists so a reprocess (re-consolidate/derive after a logic change) skips re-parsing all filings, and so the lineage inputs[] in each consolidated doc resolve to a real parsed document. 50/30/10 are the queryable Cosmos layers; 10_presentation is what the MCP serves.
Each pipeline-stage package directory is prefixed with its layer number so the owner of every data layer is obvious. (Python module names can't start with a digit, so the importable package keeps its fbl_* name; the number is also exposed as a LAYER constant in each stage package.)
All AT stage packages live under products/agentic-firmenbuch/packages/ (abbreviated …/ below).
| Layer | Package (dir) | import | Store / container | Pydantic model | Sample |
|---|---|---|---|---|---|
99_registry | …/99_registry | fbl_registry | Cosmos 99_registry | RegistryDoc | §15a.0 doc |
90_raw | …/90_ingest | fbl_ingest | Blob 90-raw | raw Meta + manifest | Stage 0 |
70_parsed | …/70_parse | fbl_parse | Blob 70-parsed | ParsedFiling | Stage 1 |
| 50_consolidated | …/50_consolidate | `fbl_consolidate
冒頭だけを表示しています。続きはリポジトリで読めます