← Registry

Data Collection

opencouncil.gr

Provides access to municipal council meeting subjects with search, trending topics, and geographic queries.

1 endpoint15 known toolsFirst detected September 8, 2026Last detected September 8, 2026

ENDPOINT 1

https://opencouncil.gr/mcp

No auth detected

MCP server metadata

Name
opencouncil
Version
1.0.0
Capabilities
tools.listChangedprompts.listChanged
Server instructions

OpenCouncil publishes transcribed, structured records of Greek municipal council meetings. Data model: cities (municipalities) hold council meetings; each meeting has subjects (agenda items); each subject is discussed in speaker segments made of utterances (the transcript). People (councillors) belong to parties and hold roles. How to work: - For "what is happening in the councils lately", start with `list_hot_subjects` — every municipality at once, ranked by debate time. - Use the `search` tool to find subjects by topic, person, party, city or date range. Use `list_cities` / `list_people` to resolve names to IDs first. Omit the query text for a filter-only listing (e.g. everything a person spoke about, newest first). - A `search` query returns subjects ranked by relevance, not by date. The top hit is not the newest one, and a page of results is not the whole record — never read "not on page 1" as "does not exist". - For "when did this body last meet", use `list_meetings` with `administrativeBodyIds` and `timeFilter: "past"` — `get_city` lists the bodies and their ids. Without `timeFilter` the top row can be a meeting that has not happened yet. `search` cannot answer this at all: it ranks subjects, and carries no body filter. - For "what has the council discussed near this address", use `list_nearby_subjects` with lat/lng: subjects pinned within the radius come first with distances, then municipality-wide ones (distanceMeters null). It only scans recent meetings — report an empty list as "nothing since oldestMeetingScanned", not "nothing". - Use `get_subject` for a subject's details and `get_subject_transcript` for exactly what was said about it, with utterance IDs. - To find which subjects of a meeting mattered, rank `get_meeting`'s subjects by `discussionSeconds` (debate time) — agenda order says nothing about importance, and most items pass without discussion. - A meeting with no subjects is not an empty meeting. Subjects come from a summarization step that runs after transcription, so a meeting is often transcribed long before it has an agenda. Check `hasTranscript` on `get_meeting` (and on `list_meetings` rows): when it is true, `get_transcript` holds the full verbatim record, and everything the subject tools do — summarizing, quoting, picking utterances for a highlight — you can do from there. Never report such a meeting as having nothing to show. - Full meeting transcripts (`get_transcript`) are long and paginated — prefer per-subject transcripts, or pass `personId` for just one councillor's segments. - Most content is in Greek; answer in the user's language but quote transcripts verbatim. - Always cite the `url` fields returned by tools when presenting results. Utterances and transcript segments carry a `url` that opens the video at that exact moment — use it when quoting. - Only released (published) meetings are visible — unless the connected token belongs to a city administrator, who also sees that city's drafts. Creating highlights (`create_highlight`) requires a personal MCP URL or bearer token — users create one on this site's /mcp page, and the highlight tools only appear on connections authenticated that way. If the user asks for highlights and you see no highlight tools, tell them to reconnect with a personal MCP URL (a service key unlocks them too). Pick the utterance IDs from `get_subject_transcript` — or from `get_transcript` with `includeUtteranceIds`, for a meeting that is not summarized yet — that best capture the moment. They need not be consecutive (skip filler, or cut together related exchanges; playback is always in meeting order). Keep highlights short. Ask the user to confirm a highlight once, and settle the video in that same question. When they want a clip, pass `video` to `create_highlight` — landscape or vertical (9:16) for social, with subtitles and speaker overlays on by default — rather than calling `generate_highlight_video` after it. Creating a highlight and rendering it are one step, and a second confirmation for a clip the user already asked for only wastes their time. `generate_highlight_video` is for re-rendering an existing highlight in another format, or for one created without a video. Rendering is asynchronous (a few minutes): poll `get_highlight` and give the user the video URL when it is ready.

Known tools 15

search

Full-text and semantic search over council meeting subjects (agenda items).

Inferred read-only
list_hot_subjects

The most-discussed subjects across all municipalities over a recent period, ranked by debate time — start here for "what is happening in the councils", a weekly roundup, or picking topics worth clipping.

Inferred read-only
list_nearby_subjects

Recent council subjects around a geographic point — "what has the council discussed about this neighborhood" (for the decision, follow up with get_subject).

Inferred read-only
fetch

Fetch the full content of a single record by id.

Inferred read-only
list_cities

List the municipalities available on OpenCouncil, with ids and counts.

Inferred read-only
get_city

Get a municipality profile: its political parties, and its administrative bodies — the council, committees and κοινότητες that hold meetings.

Inferred read-only
list_people

List the people (councillors, mayor, etc.) of a municipality with their roles and party.

Inferred read-only
get_person

Get a person profile with all their roles.

Inferred read-only
get_party

Get a political party with its members.

Inferred read-only
list_meetings

List a municipality's council meetings, newest first (or soonest first for upcoming).

Inferred read-only
get_meeting

Get a council meeting with its agenda.

Inferred read-only
get_subject

Get a subject (agenda item) in detail: status, description, per-speaker contribution summaries, decision.

Inferred read-only
get_subject_transcript

The verbatim transcript of everything said about one subject, as utterances with ids, speaker names, roles (resolved as of the meeting date) and timestamps.

Inferred read-only
get_transcript

The full transcript of a meeting as speaker segments, paginated.

Inferred read-only
get_more_tools

Check for additional tools whenever your task might benefit from specialized capabilities - even if existing tools could work as a fallback.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.opencouncil]
url = "https://opencouncil.gr/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "opencouncil": {
      "type": "http",
      "url": "https://opencouncil.gr/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: opencouncil
Remote MCP URL: https://opencouncil.gr/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "opencouncil": {
      "url": "https://opencouncil.gr/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "opencouncil": {
      "type": "http",
      "url": "https://opencouncil.gr/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "opencouncil",
  "transport": "streamable-http",
  "url": "https://opencouncil.gr/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.