Skip to main content
Glama
egegungordu

Kokkai Minutes MCP Agent

by egegungordu

Kokkai Minutes MCP Agent

A Model Context Protocol (MCP) agent that provides a structured interface to the Japanese National Diet Library's Kokkai Minutes (parliamentary proceedings) API. This agent allows AI models to search and retrieve parliamentary proceedings through a standardized interface.

🚀 Already Deployed: The agent is live and ready to use at https://kokkaikaigiroku-mcp.egeg.workers.dev/mcp

Table of Contents

Related MCP server: mcp-japan-law

Example Questions for LLMs

Here are some example questions you can ask AI models (like Claude) that use this agent:

Policy Research

  • "Give me the list of politicians that talked about problems with 仮放免 (provisional release) in the last year"

  • "What were the main arguments made about 入管法改正 (immigration law reform) in recent Diet sessions?"

  • "Summarize discussions about 待機児童 (childcare waiting lists) from 2020 to present"

Political Analysis

  • "How has the government's stance on 原発再稼働 (nuclear power plant restart) evolved over time?"

  • "Find statements by the Prime Minister about インバウンド観光 (inbound tourism) after COVID-19"

  • "Compare different party positions on 消費税 (consumption tax) in budget committee meetings"

Historical Research

  • "Find debates about 日米安保条約 (US-Japan Security Treaty) from its original ratification period"

  • "How did the Diet discuss 少子化対策 (measures against declining birthrate) when it first became a social issue?"

API Functions

The agent provides three main functions:

  1. searchMeetingList - Search for meetings with basic information

  2. searchMeetingsWithSpeechText - Search for meetings including full speech texts

  3. searchSpeeches - Search for specific speeches

Each function supports various parameters including:

  • Date range (from, until)

  • House selection (nameOfHouse)

  • Speaker information (speaker, speakerPosition, speakerGroup)

  • Content search (any)

  • Session numbers (sessionFrom, sessionTo)

  • And more

For detailed parameter information, please refer to the source code documentation.

Environment

  • Node.js

  • TypeScript

  • Cloudflare Workers

  • Model Context Protocol SDK

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Connect Claude Desktop to your MCP server

You can connect to the MCP server from local MCP clients using the mcp-remote proxy.

To connect from Claude Desktop, follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config.

Update with this configuration:

{
  "mcpServers": {
    "kokkaikaigiroku": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://kokkaikaigiroku-mcp.egeg.workers.dev/mcp"  // Use this for the deployed version
        // or "http://localhost:8787/mcp" for local development
      ]
    }
  }
}

Restart Claude and you should see the Kokkai Minutes search tools become available.

Available Tools

3 tools
searchMeetingListA

Searches for meeting summaries from the Kokkai API (会議単位簡易出力). Returns basic info like meeting name, date, ID, URL. Does not include speech text. Max 100 records.

ParametersJSON Schema
NameRequiredDescriptionDefault
startRecordNoStart position for retrieving search results (1-based). Default is 1.
nameOfHouseNoName of the House (e.g., '衆議院' for House of Representatives, '参議院' for House of Councillors). '両院' and '両院協議会' yield the same results.
nameOfMeetingNoName of the meeting (e.g., plenary session, committee). Partial match. Multiple terms separated by space for OR search.
anyNoKeywords to search in speech content. Partial match. Multiple terms separated by space for AND search.
speakerNoSpeaker's name. Partial match. Multiple names separated by space for OR search.
fromNoStart date for meeting search (YYYY-MM-DD). Default '0000-01-01'.
untilNoEnd date for meeting search (YYYY-MM-DD). Default '9999-12-31'.
supplementAndAppendixNoLimit search to supplements and appendices. Default false.
contentsAndIndexNoLimit search to table of contents and index. Default false.
searchRangeNoSpecifies where to search for keywords from 'any' parameter: '冒頭' (opening), '本文' (body), or '冒頭・本文' (both). Default '冒頭・本文'.
closingNoLimit search to meetings held during recess. Default false.
speechNumberNoExact match for speech number (e.g., 10).
speakerPositionNoSpeaker's position/title. Partial match.
speakerGroupNoSpeaker's affiliated political group. Partial match.
speakerRoleNoSpeaker's role: '証人' (witness), '参考人' (expert witness/referential speaker), '公述人' (public speaker).
speechIDNoUnique ID for a speech (format: issueID_paddedSpeechNumber, e.g., '100105254X00119470520_000'). Exact match.
issueIDNoUnique ID for a meeting record (21 alphanumeric characters, e.g., '100105254X00119470520'). Exact match.
sessionFromNoStarting Diet session number (up to 3 digits).
sessionToNoEnding Diet session number (up to 3 digits).
issueFromNoStarting issue number (up to 3 digits, 0 for TOC/index/appendix/supplement).
issueToNoEnding issue number (up to 3 digits, 0 for TOC/index/appendix/supplement).
maximumRecordsNoMaximum number of records to retrieve (1-100) for meeting list. Default is 30.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the tool is a search operation (implied read-only), returns basic meeting info, excludes speech text, and has a max record limit of 100. However, it lacks details on error handling, authentication needs, rate limits, or pagination behavior (beyond startRecord parameter), leaving gaps for a tool with 22 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with essential information in three concise sentences: purpose, output format, and key constraint. Every sentence adds value without redundancy, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (22 parameters, no annotations, no output schema), the description is adequate but incomplete. It covers purpose, output scope, and a key limit, but lacks details on return format structure, error cases, or usage prerequisites. For a search tool with many parameters and no output schema, more context on result handling would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 22 parameters. The description adds no parameter-specific information beyond implying search functionality. It mentions 'Max 100 records' which relates to the maximumRecords parameter, but this is already covered in the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Searches for meeting summaries'), specifies the data source ('from the Kokkai API'), and distinguishes it from siblings by noting 'Does not include speech text' (unlike searchMeetingsWithSpeechText). It also specifies the output format ('basic info like meeting name, date, ID, URL') and a key constraint ('Max 100 records').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by stating what this tool does not include ('Does not include speech text'), which implicitly guides users toward searchMeetingsWithSpeechText for speech content. However, it does not explicitly name alternatives or specify when not to use this tool beyond the speech text exclusion, missing full explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

searchMeetingsWithSpeechTextA

Searches for meetings and includes the full text of ALL speeches within those meetings from the Kokkai API (会議単位出力). Returns meeting info and all speech texts. Max 10 records.

ParametersJSON Schema
NameRequiredDescriptionDefault
startRecordNoStart position for retrieving search results (1-based). Default is 1.
nameOfHouseNoName of the House (e.g., '衆議院' for House of Representatives, '参議院' for House of Councillors). '両院' and '両院協議会' yield the same results.
nameOfMeetingNoName of the meeting (e.g., plenary session, committee). Partial match. Multiple terms separated by space for OR search.
anyNoKeywords to search in speech content. Partial match. Multiple terms separated by space for AND search.
speakerNoSpeaker's name. Partial match. Multiple names separated by space for OR search.
fromNoStart date for meeting search (YYYY-MM-DD). Default '0000-01-01'.
untilNoEnd date for meeting search (YYYY-MM-DD). Default '9999-12-31'.
supplementAndAppendixNoLimit search to supplements and appendices. Default false.
contentsAndIndexNoLimit search to table of contents and index. Default false.
searchRangeNoSpecifies where to search for keywords from 'any' parameter: '冒頭' (opening), '本文' (body), or '冒頭・本文' (both). Default '冒頭・本文'.
closingNoLimit search to meetings held during recess. Default false.
speechNumberNoExact match for speech number (e.g., 10).
speakerPositionNoSpeaker's position/title. Partial match.
speakerGroupNoSpeaker's affiliated political group. Partial match.
speakerRoleNoSpeaker's role: '証人' (witness), '参考人' (expert witness/referential speaker), '公述人' (public speaker).
speechIDNoUnique ID for a speech (format: issueID_paddedSpeechNumber, e.g., '100105254X00119470520_000'). Exact match.
issueIDNoUnique ID for a meeting record (21 alphanumeric characters, e.g., '100105254X00119470520'). Exact match.
sessionFromNoStarting Diet session number (up to 3 digits).
sessionToNoEnding Diet session number (up to 3 digits).
issueFromNoStarting issue number (up to 3 digits, 0 for TOC/index/appendix/supplement).
issueToNoEnding issue number (up to 3 digits, 0 for TOC/index/appendix/supplement).
maximumRecordsNoMaximum number of records to retrieve (1-10) for meetings with speech text. Default is 3.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds some context: it specifies the source (Kokkai API), the output includes meeting info and all speech texts, and a max record limit of 10. However, it lacks details on permissions, rate limits, pagination (beyond the 'startRecord' parameter), error handling, or the exact format of returned data. For a tool with 22 parameters and no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded, consisting of only two sentences that efficiently convey the tool's purpose, scope, and key constraint (max 10 records). Every word earns its place, with no redundant or vague language, making it easy for an AI agent to quickly understand the tool's core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (22 parameters, no annotations, no output schema), the description is incomplete. It adequately states the purpose and output scope but lacks details on behavioral aspects like error handling, data format, or usage constraints beyond the record limit. While it meets the minimum for clarity and conciseness, it does not provide enough context for an agent to fully anticipate how to handle results or potential issues, especially with such a rich parameter set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, meaning all parameters are documented in the schema itself. The description does not add any specific parameter semantics beyond what the schema provides, such as explaining interactions between parameters or providing examples. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description does not compensate with additional insights but also does not detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Searches for meetings'), the resource ('meetings and includes the full text of ALL speeches'), the source ('from the Kokkai API'), and the scope ('Max 10 records'). It distinguishes from sibling tools by specifying it returns speech texts, unlike 'searchMeetingList' (likely just meeting metadata) and 'searchSpeeches' (likely focused on speeches rather than meetings with speeches).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: when you need meeting information along with all speech texts, with a limit of 10 records. It implies usage by specifying the output includes speech texts, which differentiates it from siblings. However, it does not explicitly state when not to use it or name alternatives, such as using 'searchMeetingList' if only meeting metadata is needed or 'searchSpeeches' for speech-focused searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

searchSpeechesA

Searches for specific speeches from the Kokkai API (発言単位出力). Returns speech text and info about the meeting it belongs to. Max 100 records.

ParametersJSON Schema
NameRequiredDescriptionDefault
startRecordNoStart position for retrieving search results (1-based). Default is 1.
nameOfHouseNoName of the House (e.g., '衆議院' for House of Representatives, '参議院' for House of Councillors). '両院' and '両院協議会' yield the same results.
nameOfMeetingNoName of the meeting (e.g., plenary session, committee). Partial match. Multiple terms separated by space for OR search.
anyNoKeywords to search in speech content. Partial match. Multiple terms separated by space for AND search.
speakerNoSpeaker's name. Partial match. Multiple names separated by space for OR search.
fromNoStart date for meeting search (YYYY-MM-DD). Default '0000-01-01'.
untilNoEnd date for meeting search (YYYY-MM-DD). Default '9999-12-31'.
supplementAndAppendixNoLimit search to supplements and appendices. Default false.
contentsAndIndexNoLimit search to table of contents and index. Default false.
searchRangeNoSpecifies where to search for keywords from 'any' parameter: '冒頭' (opening), '本文' (body), or '冒頭・本文' (both). Default '冒頭・本文'.
closingNoLimit search to meetings held during recess. Default false.
speechNumberNoExact match for speech number (e.g., 10).
speakerPositionNoSpeaker's position/title. Partial match.
speakerGroupNoSpeaker's affiliated political group. Partial match.
speakerRoleNoSpeaker's role: '証人' (witness), '参考人' (expert witness/referential speaker), '公述人' (public speaker).
speechIDNoUnique ID for a speech (format: issueID_paddedSpeechNumber, e.g., '100105254X00119470520_000'). Exact match.
issueIDNoUnique ID for a meeting record (21 alphanumeric characters, e.g., '100105254X00119470520'). Exact match.
sessionFromNoStarting Diet session number (up to 3 digits).
sessionToNoEnding Diet session number (up to 3 digits).
issueFromNoStarting issue number (up to 3 digits, 0 for TOC/index/appendix/supplement).
issueToNoEnding issue number (up to 3 digits, 0 for TOC/index/appendix/supplement).
maximumRecordsNoMaximum number of records to retrieve (1-100) for speeches. Default is 30.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the 'Max 100 records' limit, which is valuable operational context. However, it doesn't describe authentication needs, rate limits, error conditions, pagination behavior (beyond the startRecord parameter), or what happens when no results are found. For a search tool with 22 parameters and no annotations, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with just two sentences that pack essential information: what it searches, what it returns, and the record limit. Every word earns its place, and it's front-loaded with the core purpose. No wasted words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (22 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and record limit but lacks information about authentication, error handling, response format, pagination strategy beyond the startRecord parameter, and explicit differentiation from sibling tools. For a search tool of this complexity, more contextual guidance would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 22 parameters thoroughly with descriptions, enums, patterns, and defaults. The description doesn't add any parameter-specific information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Searches'), resource ('specific speeches from the Kokkai API'), and scope ('発言単位出力'). It distinguishes from siblings by specifying it returns 'speech text and info about the meeting it belongs to' rather than just meeting lists or combined results. The mention of 'Max 100 records' further clarifies its operational limits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about what the tool returns (speech text + meeting info), which helps differentiate it from sibling tools like 'searchMeetingList' (likely returns only meeting metadata) and 'searchMeetingsWithSpeechText' (might return combined meeting-speech data). However, it doesn't explicitly state when to use this tool versus those alternatives or mention any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observedsearchMeetingList
    • First observedsearchMeetingsWithSpeechText
    • First observedsearchSpeeches

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity: searchMeetingList retrieves meeting metadata without speech text, searchMeetingsWithSpeechText returns meetings with full speech text, and searchSpeeches focuses on individual speeches with meeting context. The descriptions explicitly differentiate their scopes and output formats, making misselection unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using camelCase (searchMeetingList, searchMeetingsWithSpeechText, searchSpeeches), with 'search' as the uniform verb prefix. This predictable naming scheme enhances readability and agent usability without deviations.

Tool Count3/5

With only 3 tools, the count feels borderline thin for a parliamentary minutes domain, potentially limiting advanced operations like filtering by date or speaker. However, it covers core search functionalities adequately, avoiding bloat but leaving room for expansion to improve workflow completeness.

Completeness4/5

The tool set provides comprehensive search coverage for Kokkai minutes, including metadata, full meeting texts, and individual speeches, with no dead ends. Minor gaps exist, such as lack of update/delete operations (irrelevant for read-only data) or advanced filtering options, but agents can work around these with the available tools.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/egegungordu/kokkaikaigiroku-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server