Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Validate emissions data against Open Footprint, check EU CBAM records, query verified methane data
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
DVERACITY_API_KEY, DVERACITY_API_URL, DVERACITY_KERI_AID, DVERACITY_KERI_PRESENTATIONAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
https://api.dveracity.com/mcpÖffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"semantic": {
"command": "npx",
"args": [
"-y",
"@dveracity/semantic-mcp"
],
"env": {
"DVERACITY_API_KEY": "your-value",
"DVERACITY_API_URL": "your-value",
"DVERACITY_KERI_AID": "your-value",
"DVERACITY_KERI_PRESENTATION": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add --transport http semantic https://api.dveracity.com/mcpclaude mcp add semantic --env DVERACITY_API_KEY=your-value --env DVERACITY_API_URL=your-value --env DVERACITY_KERI_AID=your-value --env DVERACITY_KERI_PRESENTATION=your-value -- npx -y @dveracity/semantic-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"semantic": {
"url": "https://api.dveracity.com/mcp"
}
}
}In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"semantic": {
"command": "npx",
"args": [
"-y",
"@dveracity/semantic-mcp"
],
"env": {
"DVERACITY_API_KEY": "your-value",
"DVERACITY_API_URL": "your-value",
"DVERACITY_KERI_AID": "your-value",
"DVERACITY_KERI_PRESENTATION": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"semantic": {
"type": "http",
"url": "https://api.dveracity.com/mcp"
}
}
}In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"semantic": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dveracity/semantic-mcp"
],
"env": {
"DVERACITY_API_KEY": "your-value",
"DVERACITY_API_URL": "your-value",
"DVERACITY_KERI_AID": "your-value",
"DVERACITY_KERI_PRESENTATION": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
https://api.dveracity.com/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
DVERACITY_API_URL envDVERACITY_KERI_AID envDVERACITY_KERI_PRESENTATION envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Tool-Namen und -Beschreibungen genau so, wie der Server sie am 6. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.
semantic_queryUse this when a user asks a specific question about verified oil-and-gas emissions data, for example methane emissions for a site, company or period (PPDM, OGMP 2.0). Call semantic_templates first to see what the data can answer. Do not use for general climate questions. On payme
semantic_templatesUse this when you want to see which kinds of questions the verified emissions data can answer, before calling semantic_query.
credits_balanceDeprecated: use billing_status, which also shows plan and free allowance. Removal planned for 0.9.
list_standardsUse this when you need to see which sustainability data standards and versions validate_data can check, before calling it.
validate_dataUse this when a user wants a payload checked against a standard other than Open Footprint; call list_standards first to see which are supported. For Open Footprint payloads use ofp_validate. Only masterData or referenceData; call list_standards first.
keri_identityUse this when an organisation needs to confirm which verified legal entity and agent identity dVeracity is attributing calls to. Only relevant when vLEI identity is configured.
ofp_modelsUse this when a user is building an app, database or integration on the Open Footprint standard and needs to know what the model covers. Start here before any other ofp_ tool. The response summary carries the served counts.
ofp_search_entitiesUse this when you need the Open Footprint entity for a concept such as "Scope 3 emissions", "facility" or "product footprint". Do not use for emission factors or calculations. Matches entity names, descriptions and field names; use ofp_entity for the full definition.
ofp_entityUse this when you need one entity's fields, types, keys and relationships, for example to design a table or an API payload. Pass domain when known: ambiguous names fail rather than guessing (ofp_models reports ambiguousNameCount).
ofp_sectorsUse this when a user asks which industries Open Footprint covers or whether a sector has a reference implementation. implemented means a reference implementation exists; planned or placeholder means nothing is published.
ofp_sectorUse this when you need one sector's classification, status and reference artifacts.
ofp_policiesUse this when a user asks which validation rules apply to a sector's emissions records. Do not use for regulations; use compliance_policies. inputs lists the e-ledger fields each policy reads (e.g. co2e_kg, direction), not canonical Open Footprint names. published:false means no
compliance_policiesUse this when a user needs data checked against a regulation, for example EU CBAM, to find the approved policy to run. Do not use for Open Footprint sector rules; use ofp_policies. Returns only APPROVED policies; drafts and rejected never appear. An empty list means none publishe
compliance_policyUse this when you need the full rules, provenance and coverage of one approved regulatory policy. Returns Rego only when the source was retained; otherwise rego_unavailable: source_not_retained. A policy without Rego is not loaded into the engine; enforcement says whether its str
compliance_evaluateUse this when a user wants an import record or an annual EU CBAM declaration (Reg. (EU) 2023/956) checked against an approved policy before filing. Do not use for carbon-footprint calculations or for regulations compliance_policies does not list. Runs the policy's regulation-deri
compliance_evaluationUse this when a user wants to retrieve or audit a previous regulatory evaluation by its id. Only the caller who ran it can read it; another account's id answers not found. Requires compliance:read.
compliance_policy_registerUse this when a user asks which provisions of a regulation an evaluation actually checks and which it does not. Shows which provisions are encoded and which are not: a pass on the encoded checks is not compliance with excluded provisions. Requires the compliance:read scope.
ofp_validateUse this when a user wants an emissions or footprint record (JSON) checked against the Open Footprint model or a sector's guardrails before storing, exchanging or reporting it. Do not use for general data-quality questions without a payload. Checks structure, declared constraints
ofp_semanticsUse this when mapping fields from SAP, another ERP or a supplier feed onto Open Footprint. A high fieldCount is a generic fallback; pass maxFieldCount (10 is a good start) for codes specific enough to align on.
ofp_semantic_codeUse this when you have a source-system field and need to find where it belongs in the Open Footprint model. Codes carried by more than ten fields are generic classifications; aligning to one asserts less than it appears.
ofp_model_provenanceUse this when a user asks which version of the Open Footprint standard they are designing against.
billing_plansUse this when you need to know what each dVeracity plan includes or what the free allowance covers. Show dVeracity plans, what each plan includes and the free-tier allowance.
billing_statusUse this when a call was refused for credits or plan, to tell the user exactly what is missing. Use it after a 402 to tell your human exactly what is missing.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde über die Domain dveracity.com bestätigt (die Registry prüft, wem die Domain gehört)
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Antwort in 311 ms (HTTP 200)
Keine Anmeldung nötig
Wir haben 23 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: DVERACITY_API_KEY
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.8.3) kam vor 4 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Zoo MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
An MCP server that provides access to the Zoo API for various CAD operations and tools.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Gives any MCP-capable AI agent (Claude Code, Cursor, custom agents) metered access to the dVeracity Semantic API — natural-language queries over the verified-emissions knowledge graph (Open Footprint / PPDM / OGMP-methane) — and VaaS standards validation.
dvrc_…): POST /api/v1/api-keys (or the dashboard)POST /api/v1/vaas/credits/purchase (or ask the agent to use billing_purchase)The machine-readable service contract lives at GET /api/v1/semantic/manifest (public, no auth).
From this directory: npm install
claude mcp add dveracity \
-e DVERACITY_API_KEY=dvrc_yourkey \ -- node /path/to/dVE/mcp/semantic-mcp/index.js
{
"mcpServers": { "dveracity": { "command": "node", "args": ["/path/to/dVE/mcp/semantic-mcp/index.js"], "env": { "DVERACITY_API_KEY": "dvrc_yourkey" } } } }
Optional: DVERACITY_API_URL overrides the API base URL (defaults to prod).
If the agent holds a dVeracity Agent Authorization credential (an ACDC issued by its Legal Entity, chained to the Legal Entity's vLEI — see elm/docs/VLEI_AGENT_TOKENS_DESIGN.md), set:
DVERACITY_KERI_AID=<the agent's AID (credential issuee)>
DVERACITY_KERI_PRESENTATION=/path/to/agent-credential.cesr # self-contained CESR
The server then authenticates the agent by verifiable presentation (challenge → exchange → 1-hour session, refreshed transparently) and attaches X-Keri-Session to every call: the API key keeps carrying billing, the KERI session adds verified identity — every metered call is attributed to the agent AID and Legal Entity LEI in dVeracity's audit trail. The keri_identity tool (free) shows the active identity. Scope denials (a credential that doesn't carry e.g. semantic:query) surface as actionable errors naming the carried scopes. Signify-based nonce signing is a planned enhancement.
| Tool | Cost | What it does |
|---|---|---|
semantic_query | credits | Natural-language question over the verified-emissions knowledge graph |
semantic_templates | free | Catalog of supported query templates |
credits_balance | free | Remaining credit balance |
list_standards | free | Standards VaaS can validate against |
validate_data | credits | Validate a payload against a supported standard |
keri_identity | free | This agent's verified vLEI identity, when KERI mode is configured |
Every tool definition carries _meta.pricing: { "unit": "credit", "amount": , "usd": }, with amount 0 for a free tool. A plan-gated tool also carries "plan_required": " " — 0 credits on compliance_policies or compliance_evaluate means "included in the VaaS plan", not "free for any account".
| Tool | Cost | What it does |
|---|---|---|
billing_plans | free | Plans, credit packs, per-credit price and the free allowance (anonymous on the hosted endpoint) |
billing_status | free | This account's plan, balance and remaining free allowance |
billing_purchase | free | One-time credit checkout: returns a checkoutUrl for a human, plus a paymentLink when the deployment configures one |
billing_subscribe | free | Membership checkout: returns checkoutUrl only; recurring charges need human approval |
Design-time tools for building an application on the Open Footprint standard. Reading the model is free; only the check at the end is metered.
| Tool | Cost | What it does |
|---|---|---|
ofp_models | free | The model domains (nine as of openfootprint b60a24e), and which database dialects have published DDL |
ofp_search_entities | free | Search the canonical entities (262 entries as of b60a24e) by name, description or field |
ofp_entity | free | One entity in full: fields, types, keys, relationships, physical table |
ofp_sectors | free | Industry sectors, each with a status |
ofp_sector | free | One sector, with its reference artifacts |
ofp_policies | free | A sector's Rego guardrails, or an explicit "none published" |
compliance_policies | paid plan | Approved regulatory compliance policies (rules extracted from a regulation, admin-approved); never drafts |
compliance_policy | paid plan | One approved policy: Rego, extracted rules, inputs, provenance |
compliance_policy_register | paid plan | The published release register: every provision, its legal reference, review status and why it is or is not enforced |
compliance_evaluate | paid plan | Execute one named approved policy against a record: four-valued decision, per-check results, missing inputs, remediation, coverage. Stores an audit record |
compliance_evaluation | paid plan | Read back one stored evaluation — the caller's own only |
ofp_validate | credits | Check a payload against the model and, optionally, sector guardrails |
ofp_semantics | free | O-DEF semantic codes, for aligning another system's fields onto the model |
ofp_semantic_code | free | Which canonical fields carry one code — the reverse lookup a connector needs |
ofp_model_provenance | free | Which snapshot of the standard this deployment serves |
Two behaviours are deliberate and worth knowing before you build against them.
Ambiguous entity names fail rather than resolve. dozens of entity names (the ofp_models summary reports the count as ambiguousNameCount) are defined in more than one domain — Country is in four. ofp_entity without a domain returns an error listing the candidates instead of picking one. Pass domain whenever you know it.
Semantic codes vary in usefulness. Most canonical fields carry an O-DEF code, but a code shared by many fields is a generic classification, and aligning to one asserts almost nothing. The ofp_models summary reports the real shape under precision — preciseFieldThreshold (the fieldCount at or below which a code is precise rather than generic), fieldsOnPreciseCodes and preciseShareOfAnnotated — and those follow the vendored snapshot rather than this document. Every code is returned with its fieldCount: check it before aligning to one, and pass maxFieldCount at that threshold to ofp_semantics to see only the precise ones.
"Nothing published" is an answer, not an error. Most sectors are named in the taxonomy but have no reference implementation, and only seven publish policy guardrails. ofp_policies on such a sector returns published: false with a reason, and ofp_validate reports policy.ran: false. Both mean *no rules are published*, never *there are no constraints* — a payload checked for structure alone is not a compliant one, and should not be described as one.
A fourth outcome, unevaluable, means the sector's rules ran but every rule that came back false reads an input the payload does not carry (policy.missingInputs, e.g. co2e_kg, direction, counterparty_industry). Those are e-ledger record fields, not canonical Open Footprint field names — ofp_policies lists them per policy under inputs. Unevaluable is neither a pass nor a breach, and valid is null.
ofp_validate checks, and what it does notThe response is a contract, not a verdict. Every call reports the check catalogue in two lists: checked (what ran) and checks_not_run (what did not, each with a reason and usually a detail). Read both before describing a payload as anything.
| Check | Status | Reason reported when it does not run |
|---|---|---|
schema — presence, primary key, types, declared constraints | runs | entity_has_no_fields |
value_range | runs where the model declares a bound: a quantity outside the declared minimum or maximum is rejected. Which fields declare a bound moves with the vendored snapshot, so it fires on some entities and not others — read checked and schema.coverage.constraintsDeclared per call | no_range_declared, no_numeric_fields |
unit_coherence | not run | not_implemented |
calculation_reproducibility | runs where the record carries all three of a quantity, an emission factor value and a stated CO2e result: quantity × factor = result is reproduced within 1%, and a record that contradicts itself is rejected | no_calculation_inputs, calculation_inputs_incomplete, ambiguous_calculation_inputs, calculation_inputs_unparseable |
temporal_consistency | runs: a validity period whose end precedes its start is rejected | no_validity_pair, validity_pair_incomplete, validity_values_unparseable |
enum_membership | runs where the vocabulary publishes its members: a well-formed key for a referent that does not exist is rejected | no_members_published, no_reference_field_supplied, reference_ids_unparseable |
referential_integrity | not run: keys are pattern- and member-checked, never resolved against live records | no_data_plane |
factor_provenance | not run | not_implemented |
materiality | not run | not_implemented |
sector_policy | runs when a sector with published guardrails covers the record type | no_sector_supplied, no_policy_published, policy_source_missing, policy_package_unparseable, not_applicable, unevaluable |
Any check can also report schema_not_run, which means the structural check it builds on could not run at all.
calculation_reproducibility is self-referential and nothing more. It resolves its three inputs from the model — the field carrying the emission-measure role, a … Factor Value (never a … Factor ID, which is a reference to a factor rather than a number to multiply by) and a … CO2e … result — or, for a record in the vocabulary the guardrails read, from quantity_value / emission_factor_value / co2e_kg. A slot the record fills more than once is ambiguous_calculation_inputs and the check declines rather than picks. The 1% tolerance is the one CalculationAccuracy in the verification engine and calc_tolerance in the ISO 14064 quantification policy use, so the identity has one tolerance on every surface. What it catches is a record whose own numbers do not multiply out. It does not say the factor is the right one for this source and period (factor_provenance, still not run) or that the quantity came from the meter it claims (the data plane, still not run) — a reproduced calculation is a self-consistent record, not a verified one.
schemaValid is the structural verdict (null if the structural check could not run).assuranceLevel names the depth earned: schema-only, schema-and-value, schema-value-and-policy or full. Each level needs every check beneath it, so guardrails without a value check is still schema-only. The ladder is gated on value_range — a bound the model itself declares — so a record that reproduced its own arithmetic without one still reads schema-only; checked is where that shows up, and it is the more precise of the two.severity (error | warning). Rule ids are stable: required_field_missing, pattern_mismatch, format_mismatch, type_mismatch, primary_key_missing, enum_violation, value_range (with bound: minimum | maximum), temporal_consistency, enum_membership, calculation_reproducibility (with expected, received, tolerance and the three inputs it read), … unknown_field is a per-field warning and stays one.unknown_field wNur der Anfang wird gezeigt; den Rest findest du im Repo