Content
# Tool List
Patent specification checker for automatic checking of patent specification and patent application format requirements. Supports pre-filing confirmation work for patent offices and corporate IP departments.
**Completely local operation, free, and open-source** - Patent specifications are confidential information before filing. This tool completes all processing on your local PC, and no input text is transmitted externally. You can directly check the source code.
Check items include some cases that may not be grounds for rejection under current examination practices. The purpose of this tool is not only to clear current standards but also to provide free insights for applicants to improve the clarity level of patent claims.
## What to Check
### Format and Description Requirements
| Check Item | Content |
|---|---|
| M2: Dependent Relationship | Self-citation, citation before description (Patent Law Article 24-3-4), multi-multi-claim |
| M2b: Sub-combination | Description that limits only some internal components of the parent claim (Patent Law Article 36-6-2)※ |
| M3: Antecedent / This | Whether the antecedent of the corresponding word exists in the correct scope |
| M4: Symbols | Correspondence between drawing symbols, variable symbols, and element names ("Embodiment" / "Example" only) - Background technology symbol description pointed out |
| M5: Structure | JIS Z 8301 compliance, paragraph numbers, punctuation, heading numbers |
| M6: Support Requirements | Whether claim terms are described in the detailed description of the invention |
| M7: Clarity Requirements | Ambiguity of modifier phrases, ambiguous expressions (e.g., "about", "suitably", "preferably"), non-technical matters (e.g., company name, sales area, price), relative expressions ⚠️ Experimental (Patent Law Article 36-6-2) |
| M8: Specification Record Items | Presence and order of required items based on Form 29 |
| M9: Patent Application Record Items | Required descriptions and formats based on Form 26 |
※ M2b may produce false positives for claims with conditional or relative clauses due to heuristic detection without dependency parsing.
### Symbol and Variable Symbol Naming Conventions (Recommended for M4)
M4 detects symbols and variable symbols using morpheme analysis (MeCab), so there may be cases where it cannot be mechanically distinguished depending on the notation. To avoid misdetection and omission, the following notation rules are recommended.
| Target | Recommended Notation | Reason / NG Example |
|---|---|---|
| Drawing Symbols | Start with full-width numbers and end with 0-2 full-width English letters (`10`, `10a`, `13B`) | Use unified digital symbols for identification targets, including flowchart step numbers (avoid English prefixes like `step S101`) |
| Variable Symbols (Physical Quantity Labels) | One full-width English letter + 0 or more digits (`V`, `V1`, `V2`). Uppercase and lowercase letters can be distinguished as separate concepts (`V` = voltage, `v` = velocity, etc.) | Do not use two or more consecutive English letters. Increase variations with numbers instead of letters (`Va` / `Vb` not recommended, use `V1` / `V2`) |
| Enumeration with Parentheses | Not recommended | Enumerations like `holding tool (35A, B, C)` are not supported. Assign individual symbols to each variation and describe them independently |
M4's symbol consistency check targets only descriptions in "Embodiment" / "Example". If "Background of the Invention" contains descriptions in the form of "element name + symbol" (e.g., ` detection unit 12`), it warns about consistency with the symbols used in the drawings.
### Article Quality (Industrial Japanese)
Checks based on the [Patent Writing Manual 2nd Edition](https://www.japio.or.jp/00yearbook/files/2017book/17_5_04.pdf) (Japan Patent Information Organization). Aimed at improving machine translation quality and text clarity. All information is displayed at the info level.
| Check Item | Corresponding Rule | Content |
|---|---|---|
| TC1: Parentheses | — | Mismatched or nested parentheses |
| TC2: Repetition | — | Consecutive punctuation, consecutive corresponding words, direct repetition of the same word |
| TC3: Style | — | Mixed use of polite and plain styles |
| TC4: Sentence Length | 1-1 | Sentences exceeding 120 characters (guideline for industrial technical documents: 100 characters) |
| TC5: Redundant Expressions | 6-1, 7-5, 7-6 | Expressions like "can do", "is", "aims to", "performs", "specifications" |
| TC6: Meaning Duplication | 2-3, 6-2 | Expressions like "about ~ degree", "each ~ every", "first" - numerical range alignment (e.g., "8 ~ 900°C") |
| TC7: Missing Comma | 5-2, 5-3 | Missing commas after conjunctive phrases or conditional clauses |
| TC8: Demonstrative Pronouns | 7-3 | Unclear references of demonstrative pronouns like "this", "that" |
| TC9: Shortening Hints | 1-3, 1-4 | Embedded itemized lists or long descriptions in parentheses |
### Grammar
| Check Item | Content |
|---|---|
| G1: Particles | Consecutive use of the same particle, excessive use of "no" |
### Planned Features
**Clarity Requirements (Examination Guidelines Part II, Chapter 2, Section 3):**
| Type | Content |
|---|---|
| (2c) Inconsistent Numerical Ranges | Conflicting numerical ranges within the same claim, composition descriptions exceeding 100% |
| (3) Unclear Categories | Device claims mixed with method steps |
**Industrial Japanese Checks (Rules requiring deep syntax analysis):**
The following will be implemented after introducing dependency parsing (GiNZA, etc.).
| Rule | Content |
|---|---|
| 1-2 | Proposal for splitting sentences with multiple subjects and predicates |
| 2-2, 2-3 | Detection of omitted objects and comparison targets |
| 3-1 ~ 3-4 | Distance between subjects and predicates, modifier placement, and subject-predicate misalignment |
| 4-1 | Inconsistent expression of parallel elements (e.g., "~たり~たり") |
| 5-1 | Missing commas after long subject phrases |
| 7-4 | Frequent use of abstract expressions like "thing" or "one" |
## Getting Started
### Easiest Method (Recommended)
**Step 1 — Install uv (One-time, no Python required)**
**Mac** — Paste into Terminal and press Enter:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
**Windows** — Paste into PowerShell and press Enter:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
After installation, close and restart the Terminal / PowerShell.
**Step 2 — Launch**
```bash
uvx meisai-checker
```
The first run may take a few minutes to download libraries. Subsequent launches will be instantaneous.
**Update**:
```bash
uvx meisai-checker@latest
```
**Complete Removal**:
```bash
uv cache clean
```
### Create a Batch File for Double-Click Launch on Windows
If uv is installed, save the following content as `meisai-checker.bat` to launch with a double-click:
```bat
@echo off
uvx meisai-checker
pause
```
Place it on your desktop or any folder for use.
### Pin to Dock on Mac
If uv is installed, run the following command to create `~/Applications/meisai-checker.app`:
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/aki0ka/meisai-checker/main/install_mac_app.sh)
```
Move to **Finder > Go > Home > Applications** and drag `meisai-checker.app` to the Dock.
It will automatically fetch the latest version each time you launch. No update work is required.
### Run from Source
Clone and run locally:
**Mac**:
```bash
git clone https://github.com/aki0ka/meisai-checker.git ~/meisai-checker && ~/meisai-checker/start.command
```
**Windows**:
1. [Download ZIP](https://github.com/aki0ka/meisai-checker/archive/refs/heads/main.zip)
2. Extract to a folder
3. Double-click `start.bat` in the folder
## Usage
### GUI (Desktop App)
```bash
uvx meisai-checker
```
**Input Methods**
- Drag and drop files (`.txt` / `.docx` / `.pdf`) into the window
- Paste text into the text area and press the "Execute Check" button
**Other Features**
- "📌 Pin to Front": Toggle always-on-top
- "📋 Copy": Copy check results in Markdown format to the clipboard
- ☀/🌙: Switch between light and dark themes
### Command Line
```bash
# Analyze a text file
meisai-checker specification.txt
# Output in JSON format
meisai-checker --json specification.txt
# Open HTML report in browser
meisai-checker --html specification.txt
```
### Integration with Claude (MCP)
Add to Claude Desktop's settings file:
```json
{
"mcpServers": {
"meisai-checker": {
"command": "uvx",
"args": ["--with", "fastmcp", "--with", "pytoony", "meisai-checker-mcp"]
}
}
}
```
Tools available from Claude:
| Tool | Purpose |
|---|---|
| `patent_check_summary` | Summary of all check errors and warnings (M2-M9, TC, G1) |
| `patent_check_issues` | Detailed issue list of all checks (filterable by level and milestone) |
| `patent_check_m3` | M3 Antecedent check only |
| `patent_check_m4` | M4 Symbol check only |
| `patent_check_m7` | M7 Ambiguity check only |
| `patent_check_m8` | M8 Specification record item check only |
| `patent_check_m9` | M9 Patent application record item check only |
MCP server output uses TOON format (about 30% token reduction compared to JSON).
## Supported Formats
- **J-PlatPat format**: Text copied from J-PlatPat public pages (auto-detected)
- **Filing format**: Text of specifications submitted to the patent office (auto-detected)
- **Word (.docx)**: Directly read files via GUI/CLI (combine all paragraphs)
- **PDF (.pdf)**: Only supports text layer PDFs (scanned PDFs not supported)
## Troubleshooting
### Mac: `You have not agreed to the Xcode and Apple SDKs license`
After macOS updates or Xcode reinstallation, execute the following in the Terminal:
```bash
sudo xcodebuild -license accept
```
Enter your Mac login password if prompted. Try again with `uvx meisai-checker`.
### `uv: command not found`
uv is not installed or the Terminal needs to be restarted. Execute the command in "Step 1" and close and restart the Terminal.
### MeCab (Morpheme Analysis) Not Working
Run `pip install fugashi unidic-lite`. If MeCab doesn't work, M3, M4, M6, and M7 checks won't execute, but others will.
## Related Articles
- [AI-Powered Patent Specification Checker Released as Open Source](https://note.com/humble_frog2601/n/n56acc1c6fda3) (note)
## Feedback and Suggestions
Welcome bug reports, feature requests, and check rule improvement proposals. [GitHub Issues](https://github.com/aki0ka/meisai-checker/issues) are open for discussion. Practical feedback from patent practice is especially welcome.
### Particularly Welcome Information
The following lists are samples from case studies and may not be exhaustive. If you encounter misdetection or omission in actual cases, please report with the claim text and publication number (if available) in Issues.
| List | Overview | Examples |
|--------|------|--------|
| **Dependent Claim Citation Notation**<br>`anaphora.py` `_CLAIM_REF_PAT` | List of dependent claim citation notations | "〜記載の"・"記載の"・"に係る"・"に示した" |
| **Quantifier Prefixes**<br>`tokenizer.py` `_QUANT_MODS` `_LEADING_QUANT_PREFIXES` | List of quantifier prefixes modifying preceding nouns | "各"・"複数の"・"それぞれの" |
| **Location and Relation Suffixes**<br>`tokenizer.py` `_LOC_SUFFIXES` `_ITER_SUFFIXES` | List of suffixes indicating location and relation | "内"・"上"・"側"・"用"・"向け" |
| **Symbol Check Exclusion List**<br>`fugo.py` `FUGO_EXCLUDE_LIST` | List of excluded symbols (e.g., "CDMA2000", "H.264", "IPv6") | "〇〇2.0"・"〇〇3GPP" misdetected as drawing symbols |
| **Support Requirements Stopwords**<br>`support.py` `STOP_WORDS` | List of stopwords for support requirements | Generic nouns included in support requirement warnings |
| **Ambiguity Expression List**<br>`clarity.py` `_VAGUE_KEYWORDS` | List of ambiguity-inducing expressions | "適宜"・"好ましくは"・"必要に応じて" |
| **Verb Support Check Exclusion List**<br>`support.py` `_VERB_STOP` | List of verbs excluded from support requirements | "備える"・"有する"・"含む" |
| **Compound Location Expressions**<br>`anaphora.py` `_LOC_COMPOUND` | List of compound location expressions | "直下"・"近傍"・"直上" |
| **Relative Expression List** ⚠️ Experimental<br>`clarity.py` `_DEGREE_ADVERBS` `_RELATIVE_ADJECTIVES` `_CHANGE_VERB_STEMS` | List of relative expressions (e.g., degree adverbs, comparative adjectives, change verbs) | Misdetected or omitted relative expressions |
## Development
```bash
git clone https://github.com/aki0ka/meisai-checker
cd meisai-checker
uv run main.py # GUI launch
uv run -m meisai_checker.cli --help # CLI help
## License and Acknowledgments
This tool is distributed under the MIT License.
Dependencies:
- [fugashi](https://github.com/polm/fugashi) (MIT) - Python MeCab wrapper
- MeCab (BSD) — Copyright © Taku Kudo, NTT
- [unidic-lite](https://github.com/polm/unidic-lite) (BSD) — Copyright © UniDic Consortium / NINJAL
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
No recommendations available