Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Create, validate, convert & extract compliant e-invoices (UBL, Factur-X, ZUGFeRD, XRechnung)
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.invoicexml.comターミナルでこれを実行します
claude mcp add --transport http invoicexml https://mcp.invoicexml.comプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"invoicexml": {
"url": "https://mcp.invoicexml.com"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"invoicexml": {
"type": "http",
"url": "https://mcp.invoicexml.com"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://mcp.invoicexml.comメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン invoicexml.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(1.0.0)がレジストリに届いたのは5 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, topo^alpin
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol server that exposes the InvoiceXML API to AI agents. Covers Factur-X, ZUGFeRD, XRechnung, UBL / CII, and Peppol BIS Billing 3.0.
The same codebase runs in two deployment shapes, selected at startup by one environment variable:
| Mode | Who runs it | Auth |
|---|---|---|
| Self-hosted | You, on your own machine or server | A single API key in env or appsettings.json |
| Hosted | InvoiceXML, on its own infrastructure | OAuth 2.1 + Dynamic Client Registration against invoicexml.com |
Both run the same binary; only the configuration differs. The repository is platform-independent — it knows nothing about where or how you host it.
+----------------------+ ProjectReference +----------------------+
| InvoiceXml.Mcp.Core | -------------------> | InvoiceXml.Mcp.Host | | (SDK: client+tools) | | (the deployable) | +----------------------+ +----------------------+
`InvoiceXml.Mcp.Core` is a small, transport-agnostic SDK:
IInvoiceXmlClient — typed client over the public REST APIHttpInvoiceXmlClient — the only implementation; consumes an HttpClient from IHttpClientFactoryInvoiceXmlClientOptions — base URL, timeout (no auth)AddInvoiceXmlMcpCore(IServiceCollection, IConfiguration) — DI entry point; returns the IHttpClientBuilder so the host attaches auth as a DelegatingHandlerThe SDK never sees credentials. The host applies them through the HTTP pipeline. That seam is what lets one codebase serve both deployment modes.
`InvoiceXml.Mcp.Host` is an ASP.NET Core 10 app:
Mcp:AuthMode (ApiKey or OAuth) at startupDelegatingHandler onto the Core HTTP client via AddHostAuth(...)POST /, a human-friendly welcome page at GET /, and /healthAdding a new auth mode = one arm in AuthExtensions.cs plus a small folder under Auth/ /. Adding a new tool = one [McpServerTool] class. Nothing else changes.
invoicexml-mcp/
├── src/ │ ├── InvoiceXml.Mcp.Core/ # the SDK: client, models, tools │ │ ├── Enums/ Interfaces/ Models/ Options/ Services/ Tools/ Extensions/ │ └── InvoiceXml.Mcp.Host/ # the deployable host │ ├── Auth/{ApiKey,OAuth}/ # the two auth modes │ ├── Configuration/ │ ├── Program.cs │ └── appsettings.json # safe defaults, no secrets ├── tests/ │ ├── InvoiceXml.Mcp.Core.Tests/ │ └── InvoiceXml.Mcp.Host.Tests/ ├── Directory.Build.props # repo-wide MSBuild defaults ├── Directory.Packages.props # Central Package Management ├── global.json # pins the .NET SDK └── InvoiceXml.Mcp.slnx
You need a .NET 10 SDK and an InvoiceXML API key.
# 1. Provide your API key (pick one):
dotnet user-secrets --project src/InvoiceXml.Mcp.Host set "Mcp:ApiKey:Value" "your-key"
$env:INVOICEXML_API_KEY = "your-key"
dotnet run --project src/InvoiceXml.Mcp.Host
GET http://localhost:5004/ shows a welcome page in a browser; the MCP endpoint is POST http://localhost:5004/; GET /health returns { "status": "ok" }.
{
// Required in OAuth mode. The public origin where this MCP server is reachable. // Used in the protected-resource metadata response. "McpUri": "https://mcp.example.com",
"InvoiceXml": { "BaseUrl": "https://api.invoicexml.com", // override for staging / local "Timeout": "00:01:40" },
"Mcp": { "AuthMode": "ApiKey", // "ApiKey" | "OAuth" "ApiKey": { "Value": "" // ApiKey mode: NEVER commit a real key }, "OAuth": { "AuthorizationServer": "https://invoicexml.com", "ScopesSupported": [ "api_token.read" ] }, "FileInput": { // limits for the URL-fetch input mode "MaxFileSizeBytes": 5242880, "FetchTimeout": "00:00:30" } } }
Environment variable equivalents (double underscore = nesting):
| Variable | Maps to |
|---|---|
INVOICEXML_API_KEY | Mcp:ApiKey:Value (friendly alias) |
Mcp__ApiKey__Value | Mcp:ApiKey:Value |
Mcp__AuthMode | Mcp:AuthMode (ApiKey or OAuth) |
Mcp__OAuth__AuthorizationServer | Mcp:OAuth:AuthorizationServer |
McpUri | McpUri (root-level) |
InvoiceXml__BaseUrl | InvoiceXml:BaseUrl |
When Mcp:AuthMode=OAuth the host stops accepting a static API key and instead:
WWW-Authenticate: Bearer resource_metadata="…" for any POST / that has no Bearer token.GET /.well-known/oauth-protected-resource pointing MCP clients at invoicexml.com as the authorization server.The dance an MCP client performs:
client → MCP POST / → 401 + resource_metadata
client → /.well-known/oauth-protected-resource → { authorization_servers: [invoicexml.com] } client → invoicexml.com/.well-known/oauth-authorization-server → { authorize, token, register endpoints } client → invoicexml.com/oauth/register → client_id + client_secret (DCR) client → invoicexml.com/oauth/authorize → user consents, gets code client → invoicexml.com/oauth/token → access_token (= user's API key) client → MCP POST / + Authorization: Bearer → 200, tool call flows through
The host is a standard ASP.NET Core app — run it however you run .NET services (systemd, a container, a PaaS, etc.; the repo doesn't prescribe one):
dotnet publish src/InvoiceXml.Mcp.Host -c Release -o ./publish
Set configuration via environment variables on the host (never commit secrets):
ASPNETCORE_ENVIRONMENT=ProductionMcp__AuthMode=ApiKey (or OAuth)Mcp__ApiKey__Value=… / INVOICEXML_API_KEY=… (ApiKey mode)McpUri=https://your-public-url and Mcp__OAuth__AuthorizationServer=https://invoicexml.com (OAuth mode)Terminate TLS at your reverse proxy / load balancer and forward to the host's HTTP port. The server is stateless, so you can run multiple instances behind a load balancer.
MIT — see LICENSE.