cpl-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NYS_LEG_API_KEY | Yes | OpenLegislation API key. Get one at https://legislation.nysenate.gov. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cpl_lookup_sectionA | Retrieve the full text of a single New York Criminal Procedure Law (CPL) location by citation. Use this when the user names a specific CPL section or article (e.g. "What does CPL 245.20 say?", "pull up CPL section 510.10"). It returns the official statute text plus its title and structural context (article/title parents and adjacent sections). It does NOT search by topic — use cpl_search for that. Args: params (LookupInput): Validated input containing: - citation (str): A CPL location id such as "245.20", "1.20", "A245", or "T1". Leading "CPL", "section", and "§" are stripped automatically. - response_format (ResponseFormat): "markdown" (default) or "json". Returns: str: In markdown mode, a formatted document with the section title, citation, full statute text, structural breadcrumb, and a source link. In json mode, an object with this schema: { "lawId": str, # "CPL" "locationId": str, # e.g. "245.20" "docType": str, # e.g. "SECTION", "ARTICLE", "TITLE" "title": str, # human title, e.g. "Automatic discovery" "activeDate": str, # ISO date this version became active "text": str, # full statute text "parents": [ {"docType": str, "docLevelId": str, "title": str} ], "sourceUrl": str # canonical nysenate.gov page } Examples: - Use when: "Show me CPL 245.20" -> citation="245.20" - Use when: "What's in article 245 of the CPL?" -> citation="A245" - Don't use when: "Which CPL section covers discovery?" (use cpl_search instead) |
| cpl_searchA | Full-text search the New York Criminal Procedure Law (CPL) for sections matching a term. Use this when the user describes a topic rather than naming a section (e.g. "Which CPL sections deal with automatic discovery?", "find CPL provisions about speedy trial"). Returns a ranked list of matching locations with their citation and title. Follow up with cpl_lookup_section to get the full text of a hit. Args: params (SearchInput): Validated input containing: - term (str): Full-text query, e.g. "automatic discovery", "speedy trial". - limit (Optional[int]): Max results, 1-50 (default 10). - offset (Optional[int]): 1-based start index for pagination (default 1). - response_format (ResponseFormat): "markdown" (default) or "json". Returns: str: In markdown mode, a numbered list of matches (citation + title + snippet). In json mode, an object with this schema: { "term": str, "total": int, # total matches available "count": int, # results in this page "offset": int, # 1-based offset used "has_more": bool, "next_offset": int|null, "results": [ { "locationId": str, # e.g. "245.20" "title": str, # section title "docType": str, # e.g. "SECTION" "snippet": str, # highlighted match context (may be empty) "sourceUrl": str } ] } Examples: - Use when: "What CPL sections cover discovery?" -> term="discovery" - Use when: "Find speedy trial rules in the CPL" -> term="speedy trial" - Don't use when: You already know the section number (use cpl_lookup_section). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/njrenaissance/cpl-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server