# dk.politikdata/mcp

Danish parliamentary cases, votes, politicians, parties, elections, and comparison tools.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 0.1.0
- **Author:** dk.politikdata
- **License:** Unknown
- **Endpoints:** streamable-http https://mcp.politikdata.dk/mcp
- **Source:** https://mcp.politikdata.dk/
- **Endpoint health:** reachable (last checked 2026-09-15T05:23:07.132Z, 4 samples) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 0 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-15T05:23:07.132Z
- **Version scanned:** live
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

24 declared. Observed from a live `tools/list` probe.
- `compare` — Compare two Danish politicians/persons, two political parties, or one person against one party majority vote. Pass free-text names in left and right; when a nam
- `fetch` — Universal Deep Research-compatible fetch tool. Takes an id returned by search and returns a readable JSON document with id, title, text, url, and metadata.
- `get_case` — Get compact details for one Danish parliamentary case, including paginated associated document metadata and file IDs for optional extracted document text retrie
- `get_document_text` — Return a bounded slice of extracted text for a document file. Supports head, tail, and range pagination; source_url always points to the official PDF.
- `get_election` — Inspect one public Danish parliamentary or municipal election by ID or slug. Returns election metadata, public result status, national turnout, vote totals and 
- `get_election_candidates` — Inspect candidate names, votes, and vote shares for one FV or KV election and geographic scope. Year is required. Party and candidate text filters can be combin
- `get_election_history` — Track turnout, vote totals, party or candidate performance, bloc shares, bloc lead, or calculated FV mandates across elections. from_year and to_year are option
- `get_election_votes` — Inspect vote totals, turnout, party/list vote shares, bloc winner and lead for one FV or KV election. Year is required. With no geography it returns national da
- `get_party` — Get compact details for one Danish political party, including the manually registered party leader, profile statistics, national FV/KV vote-share history, lates
- `get_person` — Get compact details for one Danish politician/person, including public biography summary, roles, party memberships, parliamentary vote statistics, election cand
- `get_question` — Read a question with inline answers, actors, original files and provenance. Page answers with answer_offset; read full text with text_offset. Use answer_id to p
- `get_question_history` — Read the non-searchable parliamentary timeline for a question, including source provenance, corrections and observation dates. Page with offset and limit.
- `get_vote_cast` — Get compact details for one Danish parliamentary afstemning/vote cast, including paginated party vote breakdown. This does not include the full roll-call list o
- `get_vote_cast_votes` — Get the full voting breakdown for one Danish parliamentary afstemning/vote cast, including both party-level votes and individual politician roll-call votes.
- `list_elections` — List public Danish parliamentary and municipal elections that have result data or are enabled for live coverage. Returns IDs and slugs for get_election, plus cu
- `resolve_person` — Resolve politicians by name only. Use this when an MCP client needs person IDs before calling person-specific tools.
- `search` — Universal Deep Research-compatible search across Politikdata.dk questions and their answers, cases, vote casts, people, and parties. Use fetch with the returned
- `search_cases` — Search Danish parliamentary cases/documents by text, date range, type, category, and topic. Category filters should usually be omitted for initial searches and 
- `search_keywords` — Search parliamentary topic keywords by text. Results are ordered by associated document count so frequently used keywords are suggested first.
- `search_party_votes` — Search how a Danish political party voted in Folketinget afstemninger/stemmer. Use party IDs from the parties vocabulary resource. Category filters should usual
- `search_person_votes` — Search how a Danish politician/person voted in Folketinget afstemninger/stemmer. Use resolve_person first when only a name is known. Category filters should usu
- `search_persons` — Resolve or search politicians by name, optionally limited by parliamentary period.
- `search_questions` — Search all Danish parliamentary questions including text in their answers. Results and facets count distinct questions; answers appear inline. Use get_question 
- `search_vote_casts` — Search Danish parliamentary afstemninger/stemmer, meaning aggregate vote results for a case step. This does not search individual person or party votes. Categor

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"mcp\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.politikdata.dk/mcp\"\n    }\n  }\n}"
```

## Blast radius

Contained to moderate — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: runs on someone else's infrastructure; read-only tool surface.
- Floor 9, ceiling 27 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/dk.politikdata%2Fmcp
- Install plan: https://forgeregistry.com/api/v1/packages/dk.politikdata%2Fmcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/dk.politikdata%2Fmcp
- HTML page: https://forgeregistry.com/registry/dk.politikdata%2Fmcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
