MCP Server Template
A template for creating MCP servers using Python.
ly-mcp
A Model Context Protocol (MCP) server for Taiwan's Legislative Yuan API v2, providing comprehensive access to bills, committees, gazettes, meeting records, and related documents.
Features
This MCP server provides 36 tools across 9 categories:
Statistics
- get_stat: Get Legislative Yuan API statistics and overview information
Bills (議案)
- list_bills: List bills with optional filters by term, session, category, proposer, and other criteria
- get_bill: Get comprehensive information about specific bills (returns complete JSON)
- get_bill_related_bills: Query related bills and their associations
- get_bill_meets: Access bill deliberation records from various meetings
- get_bill_doc_html: Retrieve HTML document content for specific bills
Committees (委員會)
- list_committees: List Legislative Yuan committees with optional filters
- get_committee: Get detailed information about specific committees
- get_committee_meets: Access committee meeting records and proceedings
Gazettes (公報)
- list_gazettes: List Legislative Yuan gazettes with optional filters by volume and gazette ID
- get_gazette: Get detailed information about specific gazettes
- get_gazette_agendas: Get agendas/contents from specific gazettes
- list_gazette_agendas: List all gazette agendas with optional filters by term, meeting date, etc.
- get_gazette_agenda: Get detailed information about specific gazette agenda items
Interpellations (質詢)
- list_interpellations: List interpellations with optional filters by member, term, session, and meeting code
- get_interpellation: Get detailed information about specific interpellations
- get_legislator_interpellations: Get interpellations where a specific legislator is the questioning member
IVODs (網路電視)
- list_ivods: List IVOD (Internet Video On Demand) recordings with optional filters by term, session, committee, member, and video type
- get_ivod: Get detailed information about specific IVOD recordings, including video URLs, transcripts, and gazette content
- get_meet_ivods: Get IVOD recordings related to specific meetings
Laws (法律)
- list_laws: List laws with optional filters by law number, category (母法/子法), parent law number, status, and authority
- get_law: Get comprehensive information about specific laws including basic data, articles, and version information
- get_law_progress: Get undecided progress list for specific laws
- get_law_bills: Get bills related to specific laws with optional filters
- get_law_versions: Get historical version records for specific laws including changes, proposers, and progress
- list_law_contents: List law articles/contents with optional filters by law number, version ID, article number, current version status, and version tracking
- get_law_content: Get detailed information about specific law articles/contents using law content ID
Meets (會議)
- list_meets: List Legislative Yuan meetings with optional filters by term, session, meeting type, attendees, date, committee code, and meeting ID
- get_meet: Get detailed information about specific meetings using meeting ID/code
- get_meet_ivods: Get IVOD (Internet Video On Demand) recordings related to specific meetings with optional filters
- get_meet_bills: Get bills discussed in specific meetings with optional filters by bill criteria
- get_meet_interpellations: Get interpellations that occurred in specific meetings with optional filters
Legislators (立法委員)
- list_legislators: List legislators with optional filters by term, party, district name, legislator ID, and name
- get_legislator: Get detailed information about specific legislators by term and name
- get_legislator_propose_bills: Get bills proposed by a specific legislator with optional filters by bill criteria
- get_legislator_cosign_bills: Get bills co-signed by a specific legislator with optional filters by bill criteria
- get_legislator_meets: Get meetings attended by a specific legislator with optional filters by meeting criteria
- get_legislator_interpellations: Get interpellations made by a specific legislator with optional filters
API Source
This MCP server uses the Legislative Yuan API v2 as its data source, providing information about Taiwan's Legislative Yuan bills and proceedings.
Installation & Usage
Quick Start
Install and run the server using uvx:
uvx lymcp@latest
MCP Client Configuration
Add the server to your MCP client configuration (e.g., Claude Desktop):
PyPI
{
"mcpServers": {
"lymcp": {
"command": "uvx",
"args": ["lymcp@latest"]
}
}
}
GitHub
{
"mcpServers": {
"lymcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/narumiruna/ly-mcp",
"lymcp"
]
}
}
}
Local Development
{
"mcpServers": {
"lymcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/ly-mcp",
"lymcp"
]
}
}
}
Docker
{
"mcpServers": {
"lymcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"narumi/ly-mcp:latest"
]
}
}
}
Example Prompts
Once connected to the MCP server, you can ask your LLM questions like:
- "列出第11屆的所有法律提案" (List all bills from the 11th term)
- "查詢立法委員王美花的提案紀錄" (Look up legislator Wang Mei-hua's proposed bills)
- "最近一次院會討論了哪些議案?" (What bills were discussed in the most recent plenary session?)
- "查詢勞動基準法的修法歷程" (Look up the amendment history of the Labor Standards Act)
- "第11屆第1會期有哪些委員會會議?" (What committee meetings were held in the 1st session of the 11th term?)
Development
Prerequisites
Setup
git clone https://github.com/narumiruna/ly-mcp
cd ly-mcp
uv sync
Running the MCP Inspector
just dev
Running Tests
# Run full test suite with coverage
just test
# Run tests with verbose output
uv run pytest -v -s
Code Quality
# Run linter
just lint
# Run type checker
just type
License
MIT
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Web3 MCP
Interact with multiple blockchains including Solana, Ethereum, THORChain, XRP Ledger, TON, Cardano, and UTXO chains.
MCP Proxy
A thin proxy that allows clients to connect to MCP servers over HTTP without streaming transport.
MCP Rules Enforcer Zero
An MCP server that enforces rules from markdown files for AI agents. This is a zero-tool version that requires an external rules file.
MCP Builder
A Python-based server to install and configure other MCP servers from PyPI, npm, or local directories.
Julia Documentation MCP Server
An MCP server for accessing Julia documentation and source code.
Claude MCP Tools
An MCP server ecosystem for integrating with Anthropic's Claude Desktop and Claude Code CLI.
SourceSync.ai
An MCP server for the SourceSync.ai API to manage and synchronize source code context.
mcp-pystub
Auto-detect stubbable packages for Python exe builds (PyInstaller/Nuitka) and generate minimal stub code to reduce executable size
OpenRouter MCP Client for Cursor
An MCP client for Cursor that uses OpenRouter.ai to access multiple AI models. Requires an OpenRouter API key.
Agile Team MCP Server
An MCP server providing model wrapper tools for agile development teams, requiring external API keys.