corpus
Server Details
IP and innovation law scholarship of NYU's Engelberg Center, with verified Bluebook pin cites.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Score is being calculated.
Available Tools
4 toolsfetchAInspect
Retrieve the full text of an Engelberg Center publication by the id returned from search. Returns id, title, text, url, and metadata (citation, version, and how to cite — including that author-draft page numbers must never be presented as journal pin cites; see metadata.citation_note).
Very long documents (casebooks) are truncated; metadata.truncated is true and fetch_document(document_id, start_chunk=...) pages through the remainder.
Args: id: The document id from a search result
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does so well. It discloses the truncation behavior, the metadata.truncated flag, and the citation rule about never presenting author-draft page numbers as journal pin cites. It also lists exact return fields, giving the agent a clear model of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the primary action, followed by necessary return-field details, truncation caveats, and an Args section. Every sentence adds useful information without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return value structure, so the description need not restate that. The description adds essential context beyond the schema: truncation behavior, paging via fetch_document, and the citation-note caveat. For a single-parameter, read-style retrieval tool, this is fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only the type 'string' with no description, and schema coverage is 0%. The description compensates by explaining that id is 'The document id from a search result,' which is the key semantic meaning needed to call the tool correctly. It could add more about expected format, but the source of the id is the critical information and it is present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieve') and resource ('full text of an Engelberg Center publication') and clarifies that the id must come from search. It also distinguishes itself from fetch_document, which handles truncated documents, and from search, which produces the id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates when to use this tool: after obtaining an id from search, to retrieve the full text. It also provides an explicit alternative for long documents: use fetch_document to page through truncated casebooks. It does not explicitly mention list_documents, but the context is sufficient for an agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_documentAInspect
Retrieve the text of a specific Engelberg Center publication by document ID. Use after a search() call to get more context around a relevant chunk, or to read a paper in page order.
Long documents are paged: at most max_chunks chunks are returned per call, starting at start_chunk. The response includes total_chunks and next_start_chunk (null when you have reached the end) — pass next_start_chunk back to continue reading.
Returns document metadata (including version: "published" or "author_draft" — see citation_note for how to cite drafts) and text chunks in sequence with page numbers and section headings.
Args: document_id: The document ID returned by search() or list_documents() start_chunk: Zero-based chunk offset to start from (default 0) max_chunks: Maximum chunks to return (default 40, max 100)
| Name | Required | Description | Default |
|---|---|---|---|
| max_chunks | No | ||
| document_id | Yes | ||
| start_chunk | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| chunks | Yes | |
| document | Yes | |
| returned | Yes | |
| total_chunks | Yes | |
| next_start_chunk | Yes |
TDQS
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 transparently explains the paging mechanism (max_chunks per call, start_chunk offset, total_chunks and next_start_chunk in the response) and the metadata (including version and citation_note). It does not mention error handling or authentication, but for a read-only retrieval tool this is a strong disclosure of the key behaviors an agent needs to correctly manage long documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized and efficient. It leads with the core purpose, then usage context, then paging, then return content, and finally parameter explanations in a clean list. Every sentence adds necessary information without repetition or filler. The structure makes it easy for an agent to scan and extract the important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (paging, metadata, multiple parameters) and the existence of an output schema, the description covers all the essential aspects: how to start, how to continue reading via next_start_chunk, the nature of the returned data, and parameter semantics. It even includes guidance on citing drafts. Nothing an agent needs to successfully use this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameter descriptions (schema coverage is 0%), so the description must compensate. It does so thoroughly in the Args section, explaining document_id (source and usage), start_chunk (zero-based offset and default), and max_chunks (default and maximum). This goes beyond the schema's bare defaults, giving the agent the semantic meaning needed to invoke the tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Retrieve the text of a specific Engelberg Center publication by document ID.' This clearly distinguishes fetch_document from its siblings: search() locates documents and list_documents() enumerates them, while this tool fetches content for a known ID. The purpose is unambiguous and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool: 'Use after a search() call to get more context around a relevant chunk, or to read a paper in page order.' It also references the sibling list_documents() as a source of document_id, giving the agent a clear mental model of the workflow. No exclusions are needed because the tool has a focused role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsAInspect
List publications from the Engelberg Center on Innovation Law & Policy at NYU Law. Filter by author name, publication type, or cited case.
Publication types: Articles, Books, Chapters, Short Articles, Briefs & Testimony (amicus briefs and congressional testimony by the co-directors), Reports (clinic white papers and policy reports) Directors include the eight Engelberg Center co-directors and affiliated co-authors.
Use to browse available sources before searching, to find all work by a specific author, or to find which publications discuss a specific judicial decision (cites_case) — e.g. cites_case="MercExchange" or cites_case="547 U.S. 388". Results matched on a case include cited_case_matches showing how often each matched case is cited — higher counts mean the case is analyzed, not just cited in passing.
Args: director: Filter by author name (partial match, case-insensitive) publication_type: Filter by type — Articles, Books, Chapters, Short Articles cites_case: Filter to publications citing a case; matches on party names or the reporter citation (partial, case-insensitive)
| Name | Required | Description | Default |
|---|---|---|---|
| director | No | ||
| cites_case | No | ||
| publication_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| documents | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does the heavy lifting: it discloses partial/case-insensitive matching, defines the director pool, explains the cited_case_matches semantics, and gives concrete example values. This is rich behavioral context that goes well beyond the bare schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but well organized: purpose, domain context, use cases, examples, then Args. All content contributes, with only a minor redundancy in the publication-type enumerations keeping it from being perfectly tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no required parameters and an output schema, the definition covers the core invocation needs thoroughly. The one material gap is the ambiguous set of accepted publication_type values; otherwise an agent can call this tool correctly from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain each parameter, and it largely does: matching rules, examples, and allowed type names. The only blemish is that the publication_type argument lists four categories while the prose earlier had mentioned five, leaving it unclear whether Reports and Briefs & Testimony are valid filter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'List publications from the Engelberg Center on Innovation Law & Policy at NYU Law,' and enumerates the three filter dimensions. This immediately distinguishes it from the sibling tools (search, fetch, fetch_document), which are not listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use this tool to browse available sources before searching, to find all work by an author, or to find publications discussing a case. This covers most selection situations, though it never names the search/fetch siblings or says when NOT to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Search the published research corpus of the Engelberg Center on Innovation Law & Policy at NYU Law: the scholarship of Barton Beebe, Rochelle C. Dreyfuss, Jeanne C. Fromer, C. Scott Hemphill, Christopher J. Morten, Jason M. Schultz, Christopher Jon Sprigman, Katherine J. Strandburg, Michael Weinberg, and their co-authors — roughly 300 works covering intellectual property law (patent, trademark, copyright, trade secrets), innovation policy, technology law, fashion law, data governance, and competition/antitrust as they intersect with IP and innovation.
ALWAYS search this corpus when a question names one of these authors or involves IP law doctrine, innovation economics, or technology policy and you want authoritative academic sources with verifiable citations. Use it alongside web search rather than instead of it: this corpus returns exact quotable passages with verified, page-accurate Bluebook citations that web search cannot provide, while web search covers the wider literature this collection does not hold. To find which publications discuss a specific judicial decision, use list_documents(cites_case=...) instead — it matches the corpus's extracted tables of authorities.
Returns ranked text chunks with full citation metadata. Each result has:
bluebook_citation: the exact Bluebook citation for the passage, pin cite included where the printed page is known. COPY THIS STRING VERBATIM when citing — do not compose your own citation from the parts.
citation: the published citation of the work
version: "published" (version of record) or "author_draft" (an SSRN / working-paper copy). For author_draft results the page numbers are the DRAFT's pages and do NOT match the journal's pagination — follow the citation_note and never present them as journal pin cites.
locator: the page to cite. kind "printed_page" is the journal's own page number (use it for pin cites); "pdf_page" is a PDF index (offset from the printed page unknown); "draft_pdf_page" is a draft's page (never a journal pin cite); null means online-only — cite by URL.
url: the work's canonical home (publisher page, SSRN, etc.). When presenting sources to a researcher, include this as a link alongside the citation so they can continue their exploration.
Args: query: Natural language search query
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and it delivers comprehensively: it discloses the return structure (bluebook_citation, citation, version, locator, url), explains the subtle version/locator semantics (published vs author_draft, printed_page vs pdf_page vs draft_pdf_page), and warns the agent to copy citations verbatim and never present draft pages as journal pin cites. This is high-value behavioral context an agent would otherwise not know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place: the author/subject list enables accurate matching, the usage guidance is front-loaded, and the detailed return-format explanation is necessary because citation correctness is the tool's core value. Structure is logical (scope → when-to-use → alternatives → returns → args) with each block clearly delineated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex search tool with subtle citation semantics, the description is complete: it covers the corpus scope, selection criteria, the distinguishing sibling (list_documents vs fetch/fetch_document, which are clearly different functions), and the full return object including how to present sources (URL alongside citation). Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but the Args section merely restates the schema ('query: Natural language search query') without adding construction guidance such as including author names, case names, or doctrine keywords. The usage section implicitly conveys what makes a good query, but the parameter itself is not explicitly elaborated on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Search) and a precisely bounded resource: the published research corpus of the Engelberg Center, listing the exact authors and subject areas. The generic name 'search' is disambiguated by naming the corpus, and the description points to list_documents as the sibling for case-decision lookups, so an agent can tell this tool apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use instructions ('ALWAYS search this corpus when a question names one of these authors or involves IP law doctrine...'), a when-not-to-use note (use alongside web search rather than instead of it), and names the exact alternative (list_documents(cites_case=...)) for a specific scenario. Nothing is left to inference.
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.
4 tool updates
- First observed
fetch - First observed
fetch_document - First observed
list_documents - First observed
search
Related MCP Connectors
Cited, confidence-stamped patent intelligence over US university tech-transfer out-licensing.
U.S. Copyright Office rights evidence for AI agents with provenance and live CPRS verification.
Source-linked research on U.S. judges, courts, cases, and judicial analytics.
Neutral referee for legal-AI output: flags orphan quotes and uncited claims. Not legal advice.
Related MCP Servers
- AlicenseAqualityAmaintenancePublic-record corpus of AI litigation, regulation, and enforcement, anchored to EveryAILaw.880 npmMIT

SciWeave MCP Serverofficial
FlicenseNot gradedqualityCmaintenanceGround Claude, ChatGPT, Cursor, and Windsurf in 300M scientific works — every citation a verifiable DOI.-- FlicenseNot gradedqualityDmaintenanceUS patent search, full-text retrieval, claim extraction, citation graph, and weekly grant alerts for R\&D, biotech, and IP-law audiences.-
- AlicenseNot gradedqualityDmaintenanceCite-grade German legal-text infrastructure for LLM agents, providing access to federal, Länder, and EU laws with cryptographic provenance.11 PyPI2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.