Thai Legal
Thai legal search MCP — statutes, gazette, opinions, court cases. Pro: court-jurisdiction rulings.
作者提供的说明(英文原文)
Austrian Parliament: search speeches, votes, bills, inquiries, committees and members
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"parlament-at": {
"command": "npx",
"args": [
"-y",
"parlament-at-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add parlament-at -- npx -y parlament-at-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"parlament-at": {
"command": "npx",
"args": [
"-y",
"parlament-at-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"parlament-at": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"parlament-at-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 bernhardbrugger 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.5.1)于10天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Thai Legal, Slovenia Company Check, Lithuania Company Check
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Thai legal search MCP — statutes, gazette, opinions, court cases. Pro: court-jurisdiction rulings.
Slovenia company checks: status, bankruptcy flag from the name, VAT revocation, LEI and sanctions.
Lithuania company checks: status, insolvency, LEI and sanctions from official registers.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server for the Austrian Parliament (Nationalrat and Bundesrat). Ask an LLM who sits where, which committee a bill is in, what was asked and answered, and what a politician actually said in the plenary - with a link to the official source for every result.
Status: v0.5, beta. Twelve tools, six prompts, 440+ offline tests (97 % line, 86 % branch coverage), verified against the live interface. Unofficial; not affiliated with the Parlamentsdirektion.
parl_sitzung lists the agenda items and _every speaker_, parl_rede returns one speech as text (interjections optional) in pieces of at most 45,000 characters, with offset paging.structuredContent + outputSchema on the list tools, six ready-made research prompts (including a fact-check workflow), size-bounded output. kompakt=true on the list tools gives one line per hit (measured on 50-hit lists: 34-50 % less text, links kept).DECISIONS.md; a live canary suite tells you when the interface changes.| Tool | What it does |
|---|---|
parl_abgeordnete | Find people by name, body, function; current members are marked and filterable (nur_aktuell, klub, bundesland) |
parl_person | Biography and mandates of one person with dates, club, career, education |
parl_reden_person | All plenary speeches of one person, newest first, with session and topic |
parl_anfragen | Inquiries or answers, newest first; filter by body, legislative period, search term |
parl_gegenstaende | List bills (Regierungsvorlagen), motions (Anträge), referendums, petitions, citizens' initiatives and EU documents by period and keyword |
parl_gegenstand | One item in detail: introducer/answerer with party, procedure, vote, Bundesgesetzblatt, PDFs, references |
parl_sitzungen | List plenary sessions of the Nationalrat and the Bundesrat |
parl_sitzung | Outline of one session: agenda items with times and every speaker; filter by speaker or agenda item |
parl_rede | One speech as text, in citable pieces |
parl_suche | Full-text search of all plenary speeches (and press releases, items): exact phrases, speaker, period, date range; every hit names the arguments for parl_rede |
parl_beschluesse | What a session decided per agenda item, with the vote by party and later steps (e.g. Bundesrat); press releases, agenda links |
parl_ausschuesse | Committees of a period; with suche= also chairs (with party), tasks, latest agendas, assigned items |
Prompts: faktencheck, rede_recherchieren, gesetz_verfolgen, anfragen_zum_thema, ausschuss_ueberblick, abgeordnete_profil - each chains the tools above for one research task.
Real output (from a live run, not mocked):
Example questions (all answered from live data during development):
parl_suche (modus="phrase", redner="Kickl") → parl_rede with the paragraph number → parl_beschluesse for the vote (the faktencheck prompt does this chain)parl_sitzung (redner="Kickl") → parl_redeparl_beschluesseparl_ausschuesse with suche="Finanzausschuss"parl_abgeordnete with klub, bundeslandparl_anfragen → parl_gegenstandA speech, as the server returns it (shortened):
Herbert Kickl (FPÖ) · 11.12–11.32
Quelle: https://www.parlament.gv.at/dokument/XXVIII/NRSITZ/30/A_-_11_12_46_00801352.html 45 Absätze, in eckigen Klammern nummeriert (mit Zwischenrufen gezählt); zum Zitieren die Nummer angeben, gezielt abrufbar mit absaetze="5-9".
[1] Abgeordneter Herbert Kickl (FPÖ): Danke schön, Herr Präsident! […] (Beifall bei der FPÖ. – Abg. Michael Hammer [ÖVP]: Na bravo!)
[Zeichen 1–857 von 21859; weiterlesen mit offset=857]
Needs Node 20 or newer. No API key, no account: the server only talks to www.parlament.gv.at. The package is on npm and listed in the official MCP Registry as io.github.bernhardbrugger/parlament-at-mcp.
Every client starts the server with the same command, npx -y parlament-at-mcp; only the place of the configuration differs. Restart the client after changing its configuration.
Claude Desktop (Settings → Developer → Edit config; %APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS)
{ "mcpServers": { "parlament-at": { "command": "npx", "args": ["-y", "parlament-at-mcp"] } } }
Claude Code
claude mcp add parlament-at -- npx -y parlament-at-mcp
VS Code (GitHub Copilot): .vscode/mcp.json in your project
{ "servers": { "parlament-at": { "type": "stdio", "command": "npx", "args": ["-y", "parlament-at-mcp"] } } }
Cursor: .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects
{ "mcpServers": { "parlament-at": { "command": "npx", "args": ["-y", "parlament-at-mcp"] } } }
Windsurf: ~/.codeium/windsurf/mcp_config.json
{ "mcpServers": { "parlament-at": { "command": "npx", "args": ["-y", "parlament-at-mcp"] } } }
Any other MCP client that speaks stdio: run npx -y parlament-at-mcp.
Windows: if a client cannot find
npx, start it through the shell instead:"command": "cmd", "args": ["/c", "npx", "-y", "parlament-at-mcp"](this variant was tested).
What was tested: the
npxcommand itself (installed from the packed archive on Windows, started directly and throughcmd /c, with a live search), and Claude Desktop and Claude Code with a local build. The snippets for VS Code, Cursor and Windsurf follow those programs' documented configuration formats but have not been tried; please open an issue if one does not work.
Try it with: _"Welche Regierungsvorlagen hat der Nationalrat zuletzt beschlossen, und wie haben die Parteien abgestimmt?"_ or _"Hat jemand im Nationalrat den Satz 'Ich rede vom Staatsbesuch' gesagt? Wer, wann, in welcher Sitzung? Zitiere mit Absatznummer."_
git clone https://github.com/bernhardbrugger/parlament-at-mcp.git
cd parlament-at-mcp npm install && npm run build
Then point the client at the built file instead of npx, e.g. for Claude Desktop { "mcpServers": { "parlament-at": { "command": "node", "args": ["/absolute/path/to/parlament-at-mcp/dist/index.js"] } } } (on Windows with doubled backslashes: "C:\\Users\\you\\parlament-at-mcp\\dist\\index.js"). After a rebuild, restart the client: it keeps running the version it started with.
Remote (Streamable HTTP, stateless)
PORT=3000 npm run start:http # POST http://127.0.0.1:3000/mcp, health: GET /healthz
The HTTP mode is tested (in-process and with the built server over curl). Docker is experimental: the repository contains a Dockerfile, but it has never been built or run, so treat it as a starting point and please report problems.
The HTTP mode has no authentication and no rate limiting. Put a reverse proxy with TLS, authentication and rate limiting in front before exposing it; see SECURITY.md.
DECISIONS.md.parl_gegenstaende searches the _official keywords_ of bills; use parl_suche for full text. parl_suche finds that something was said, never whether it is true: fact-checking needs a second source, and the redner filter only looks at the first 300 hits of a search.npm run check # typecheck + lint + format check + offline tests
npm run test:coverage # coverage report npm run build && npm run smoke:li
只显示了开头部分;其余内容请在仓库中阅读