Artl Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Artl Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server and CLI toolkit for comprehensive scientific literature retrieval and analysis using PMIDs, DOIs, PMCIDs, and keyword searches.
📖 New to artl-mcp? See PREREQUISITES.md for detailed setup instructions including Python/uv installation, MCP client setup, and more.
Use directly from command line with just Python + uv:
uvx --from artl-mcp artl-cli get-doi-metadata --doi "10.1038/nature12373"Use with any MCP-compatible AI assistant for natural language queries:
Note: You can use ANY MCP client - not just Claude! See PREREQUISITES.md for setup guides.
For contributors working on artl-mcp itself. See DEVELOPERS.md.
Example: Claude Desktop (works with any MCP client)
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"artl-mcp": {
"command": "uvx",
"args": ["artl-mcp"]
}
}
}Then ask Claude: "Search Europe PMC for papers about CRISPR"
Other MCP clients: Goose, Zed, Continue, etc. also work! See PREREQUISITES.md for setup guides for each client.
# Install and use CLI commands
uvx --from artl-mcp artl-cli get-doi-metadata --doi "10.1038/nature12373"
uvx --from artl-mcp artl-cli search-papers-by-keyword --query "CRISPR gene editing" --max-results 5When running as an MCP server, you get access to 6 core tools. Note: 33 additional tools are currently disabled pending testing and stabilization (see Issues #210, #212).
MCP Mode (AI assistants): Returns data directly without file saving:
{
"data": { /* tool-specific content */ },
"mcp_mode": true,
"note": "Data returned directly - use CLI for file saving"
}CLI Mode (command line): Full file saving with path reporting:
{
"data": { /* tool-specific content */ },
"saved_to": "/path/to/saved/file.json"
}The following tools are implemented but currently disabled (commented out in main.py):
Note: CLI has 23 active commands, many corresponding to these disabled MCP tools.
The artl-cli command provides access to all functionality. When using uvx, specify the package name:
# Metadata retrieval
uvx --from artl-mcp artl-cli get-doi-metadata --doi "10.1038/nature12373"
uvx --from artl-mcp artl-cli get-abstract-from-pubmed-id --pmid "23851394"
# Literature search
uvx --from artl-mcp artl-cli search-papers-by-keyword --query "machine learning" --max-results 10
uvx --from artl-mcp artl-cli search-recent-papers --query "COVID-19" --years-back 2
# Full text (requires email for some sources)
uvx --from artl-mcp artl-cli get-full-text-from-doi --doi "10.1038/nature12373" --email "[email protected]"
# Identifier conversion
uvx --from artl-mcp artl-cli doi-to-pmid --doi "10.1038/nature12373"
uvx --from artl-mcp artl-cli get-all-identifiers-from-europepmc --identifier "PMC3737249"Note: Citation analysis tools are currently unavailable in both MCP and CLI. See Issue #210 for updates.
Note for local development: If you have the package installed locally with uv sync, you can use uv run artl-cli directly without the --from flag.
Several APIs require institutional email addresses.
⚠️ Important: Replace example emails with your actual institutional email address.
export ARTL_EMAIL_ADDR="[email protected]" # Replace with your real email
# or create local/.env file with: [email protected]MCP Client Configuration: Different MCP clients support configuration injection. ARTL-MCP's enhanced configuration system provides multiple methods for email setup:
See USERS.md for comprehensive configuration instructions.
Configure where files are saved when using CLI commands:
export ARTL_OUTPUT_DIR="~/Papers" # Default: ~/Documents/artl-mcp
export ARTL_TEMP_DIR="/tmp/my-artl-temp" # Default: system temp + artl-mcp
export ARTL_KEEP_TEMP_FILES=true # Default: falseNote: MCP mode returns data directly without file saving.
DOI: 10.1038/nature12373, doi:10.1038/nature12373, https://doi.org/10.1038/nature12373
PMID: 23851394, PMID:23851394, pmid:23851394
PMCID: PMC3737249, 3737249, PMC:3737249
All tools automatically detect and normalize identifier formats.
# Clone and install
git clone https://github.com/contextualizer-ai/artl-mcp.git
cd artl-mcp
uv sync --group dev
# Run CLI commands during development
uv run artl-cli --help
uv run artl-cli get-doi-metadata --doi "10.1038/nature12373"
uv run artl-cli search-papers-by-keyword --query "CRISPR" --max-results 5
# Run the MCP server locally
uv run artl-mcp
# Run tests
make test # Fast development tests
make test-coverage # Full test suite with coverage
# Code quality
make lint # Ruff linting
make format # Black formatting
make mypy # Type checkingDevelopment vs. Production Usage:
uv run artl-cli after uv syncuvx --from artl-mcp artl-cli⚠️ Not Required: Claude Code CLI is ONLY needed for running make claude-demos-all tests. Normal users and MCP users don't need this.The repository includes optional MCP integration tests via Makefile targets:
make claude-demos-all # Run all MCP demos (requires Claude Code CLI)Requirements for demos:
npm install -g @anthropic-ai/claude-codeSee PREREQUISITES.md for setup instructions.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.