From claude-patent-creator-standalone
Searches USPTO MPEP, 35 USC statutes, 37 CFR regulations, and post-Jan 2024 updates using hybrid RAG (FAISS+BM25+HyDE+reranking). Retrieves full sections by number.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-patent-creator-standalone:mpep-searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Search MPEP corpus through hybrid RAG (FAISS vector + BM25 keyword + HyDE + cross-encoder reranking).
Search MPEP corpus through hybrid RAG (FAISS vector + BM25 keyword + HyDE + cross-encoder reranking).
Sources:
search_mpepInputs:
query (string, required): Search query (minimum 3 characters)top_k (int, optional): Number of results (default: 5, max: 20)retrieve_k (int | None, optional): Candidates before reranking (default: top_k * 4, max: 100)source_filter (string | None, optional): Filter by source ("MPEP", "35_USC", "37_CFR", "SUBSEQUENT", or None)is_statute (bool | None, optional): Filter for statute contentis_regulation (bool | None, optional): Filter for regulation contentis_update (bool | None, optional): Filter for recent updatesOutputs:
{
"rank": int,
"source": str,
"section": str,
"file": str,
"page": int,
"has_statute": bool,
"has_mpep_ref": bool,
"has_rule_ref": bool,
"is_statute": bool,
"is_regulation": bool,
"is_update": bool,
"relevance_score": float,
"text": str,
# Optional for SUBSEQUENT:
"doc_type": str,
"fr_citation": str,
"effective_date": str
}
Examples:
# Basic search
search_mpep("enablement requirement 35 USC 112", top_k=5)
# Search only statutes
search_mpep("written description", top_k=10, is_statute=True)
# Search recent updates
search_mpep("AI inventorship", is_update=True)
# Filter by source
search_mpep("fee schedule", source_filter="37_CFR")
get_mpep_sectionRetrieve all content from specific MPEP section.
Inputs:
section_number (string, required): MPEP section number (e.g., "2100", "608.01")max_chunks (int, optional): Maximum chunks to return (default: 50)Outputs:
{
"section": str,
"total_chunks": int,
"chunks": [
{
"text": str,
"metadata": {
"source": str,
"file": str,
"page": int,
"section": str,
"has_statute": bool,
"has_mpep_ref": bool,
"has_rule_ref": bool,
"is_statute": bool,
"is_regulation": bool,
"is_update": bool
}
}
]
}
Error Response:
{"error": "No content found for MPEP section {section_number}"}
Examples:
# Get MPEP 2100 (Patentability)
get_mpep_section("2100", max_chunks=50)
# Get subsection
get_mpep_section("608.01")
Query validation:
Section number validation:
Limits:
top_k capped at 20retrieve_k capped at 100Index Location:
mcp_server/index/mpep_index.faissmcp_server/index/mpep_metadata.jsonmcp_server/index/mpep_bm25.jsonSearch Architecture:
Dependencies:
Error Handling:
npx claudepluginhub robthepcguy/claude-patent-creator --plugin claude-patent-creator-standaloneSearches EPC articles/rules, EPO Guidelines for Examination, and PCT rules for European/international patent law research, including USPTO/MPEP comparisons.
Searches patents and trademarks via USPTO APIs, retrieves examination history (PEDS), assignments, citations, office actions, and trademark status (TSDR). Use for prior art searches, IP analysis, and portfolio tracking.
Access USPTO APIs for patent/trademark searches, examination history, assignments, citations, and office actions. Useful for IP analysis and prior art searches.