Cline rules
.clinerules/70-pubmed-mcp-tools.mdCline rules
Quality
59/100
Scores the file, not the repository.Length
336 words
5 headings · 0 code blocksRepository
23
— · pushed 0 days agoLast changed
yesterday
First indexed 3 days ago.12345678910# PubMed MCP Tool Rules1112## Tool Contract Rules1314- Keep MCP `unified_search` as the primary agent search facade; Python callers should use `pubmed_search.api`.15- Preserve session-aware flows: cached articles, last PMIDs, search history, and pipeline state.16- Return source counts and warnings when a source fails or contributes zero results.17- Keep output formats stable for markdown, JSON, RIS, BibTeX, CSV, and MEDLINE.18- Do not remove old fields without tolerating them for at least one release cycle.1920## Research Workflow Rules2122- Use `generate_search_queries` and `analyze_search_query` before complex/systematic searches.23- For clinical comparison questions, extract P/I/C/O in the agent, then use `parse_pico` to validate the structured handoff and obtain a runnable PICO pipeline.24- `build_research_chronicle` is the single research-evolution entry point; the old timeline tools were folded into it. Read stored chronicles with `read_research_chronicle` (`load` / `list` / `diff` / `narrate` / `milestones` / `compare`) instead of rebuilding.25- When `unified_search` returns an `artifact_summary`, preserve the user-facing summary and use `read_session(action="artifact", artifact_uri=...)` for deeper audit files.26- Use `get_fulltext`, `get_article_figures`, and institutional access tools only when full-text retrieval is requested.27- Export to RIS for Zotero/EndNote and BibTeX for LaTeX workflows.2829## Tenant Isolation Rules3031The server can serve many agents at once, so session state must stay scoped:3233- Resolve session state through `get_session_manager()`. Never capture a `SessionManager` in a closure at registration time; it would pin every caller to the startup tenant.34- `set_session_manager()` intentionally clears the per-tenant registry (single-caller mode). Anything that installs the registry must run *after* tool registration.35- `normalize_tenant_id()` must stay idempotent; the registry re-normalizes ids.36- Keep upstream per-API rate limits global (NCBI meters per API key). Per-caller fairness belongs to `PUBMED_TENANT_MAX_CONCURRENCY`.37- Any new store that writes under `data_dir` must route through the tenant's directory, not the shared root.3839## Documentation Sync4041When tools are added, removed, or renamed:4243- Run `uv run python scripts/count_mcp_tools.py --update-docs`.44- Update relevant `.claude/skills/pubmed-*` skills.45- Update `.github/agents/research.agent.md` if the research flow changes.46- Add or update MCP protocol tests.47
Also in u9401066/pubmed-search-mcp
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| u9401066/pubmed-search-mcp.clinerules/30-citation-ready.md · 23 | Cline rules | styledo-not | 36/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/60-pubmed-python.md · 23 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/80-pubmed-release.md · 23 | Cline rules | testlint-formatdeploymentdo-not | 68/100 | 3 days ago | |
| u9401066/pubmed-search-mcpAGENTS.md · 23 | AGENTS.md | teststyledo-notagent-behaviour | 86/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/30-mcp-surface-and-sync.md · 23 | Cline rules | do-not | 23/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/00-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 86/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/00-workspace-baseline.md · 23 | Cline rules | monorepo | 16/100 | yesterday | |
| u9401066/pubmed-search-mcp.clinerules/00-zotero-project.md · 23 | Cline rules | testlint-formatstylearch+2 | 74/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/10-python-ddd.md · 23 | Cline rules | testlint-formatdo-not | 39/100 | yesterday | |
| u9401066/pubmed-search-mcp.clinerules/10-python.md · 23 | Cline rules | setuptestlint-formatstyle+1 | 78/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/10-zotero-python.md · 23 | Cline rules | setuptestlint-formatstyle+1 | 71/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/20-docs-and-generated-assets.md · 23 | Cline rules | styledo-notdocs | 35/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/20-vscode-extension.md · 23 | Cline rules | teststyledo-not | 55/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/20-zotero-vscode-extension.md · 23 | Cline rules | teststyledo-not | 69/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/30-zotero-research-workflow.md · 23 | Cline rules | styledo-notagent-behaviour | 50/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/35-foam-llm-wiki.md · 23 | Cline rules | styledo-notagent-behaviour | 55/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/40-release.md · 23 | Cline rules | testlint-formatdeploymentdo-not | 74/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/40-zotero-release.md · 23 | Cline rules | testlint-formatdeploymentdo-not | 67/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/50-pubmed-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.github/copilot-instructions.md · 23 | Copilot instructions | setupbuildtestlint-format+8 | 77/100 | today |
Diff against .clinerules/30-citation-ready.md Diff against .clinerules/60-pubmed-python.md Diff against .clinerules/80-pubmed-release.md Diff against AGENTS.md Diff against .clinerules/30-mcp-surface-and-sync.md Diff against .clinerules/00-project.md Diff against .clinerules/00-workspace-baseline.md Diff against .clinerules/00-zotero-project.md Diff against .clinerules/10-python-ddd.md Diff against .clinerules/10-python.md Diff against .clinerules/10-zotero-python.md Diff against .clinerules/20-docs-and-generated-assets.md Diff against .clinerules/20-vscode-extension.md Diff against .clinerules/20-zotero-vscode-extension.md Diff against .clinerules/30-zotero-research-workflow.md Diff against .clinerules/35-foam-llm-wiki.md Diff against .clinerules/40-release.md Diff against .clinerules/40-zotero-release.md Diff against .clinerules/50-pubmed-project.md Diff against .github/copilot-instructions.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| JCodesMore/ai-website-cloner-template.clinerules · 31k | Cline rules | buildlint-formatstylearch+3 | 97/100 | 2 days ago | |
| BryaanF/LiantPortfolio.clinerules/project-guidelines.md · 0 | Cline rules | buildstylearchgit+2 | 96/100 | 3 days ago | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/50-pubmed-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| ryok/python-boilerplate.clinerules/common-commands.md · 0 | Cline rules | setupbuildtestlint-format+3 | 90/100 | 2 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/60-pubmed-python.md · 6 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago | |
| u9401066/pubmed-search-mcp.clinerules/00-project.md · 23 | Cline rules | testlint-formatstylearch+1 | 86/100 | 3 days ago |
