What is MCP?
Model Context Protocol (MCP) is an open standard that lets AI agents call external tools directly. Instead of asking you to copy-paste API responses, your agent can search ToolXiv, look up tool details, and even submit new tools — all within the conversation.
The @toolxiv/mcp package gives your agent 6 tools to interact with the ToolXiv registry.
Quick Start
No installation required. Just add the config to your AI client and it runs via npx.
Claude Code
Run this command in your terminal:
claude mcp add toolxiv -- npx -y @toolxiv/mcp
Or add it manually to your settings file (~/.claude.json):
{
"mcpServers": {
"toolxiv": {
"command": "npx",
"args": ["-y", "@toolxiv/mcp"]
}
}
}
Claude Desktop
Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"toolxiv": {
"command": "npx",
"args": ["-y", "@toolxiv/mcp"]
}
}
}
Cursor
Open Settings → MCP Servers → Add Server and enter:
{
"mcpServers": {
"toolxiv": {
"command": "npx",
"args": ["-y", "@toolxiv/mcp"]
}
}
}
After adding the config, restart your client. You should see ToolXiv tools listed in the MCP panel.
Available Tools
search_tools
Search the ToolXiv registry with filters.
Parameters:
q— Search query (e.g. "web scraper", "code formatter")categories— Comma-separated category slugs (e.g. "cli-tools,ai-ml")language— Programming language (e.g. "Python", "Rust")license— License filter (e.g. "MIT", "Apache-2.0")agent— AI agent filter (e.g. "claude-code", "cursor")sort— Sort byrelevance,newest,stars, orimpactpage— Page number
Example prompt:
Find Python CLI tools for web scraping, sorted by stars
get_tool
Get full details about a specific tool by its ID.
Parameters:
id— Tool ID (numeric)
Example prompt:
Get details for tool #42
get_trending
See what's popular right now on ToolXiv.
Parameters:
limit— Number of results, 1–50 (default: 10)
Example prompt:
Show me the top 5 trending tools
list_categories
List all available categories. Useful for discovering valid category slugs to use with search_tools.
No parameters. Returns:
cli-tools— CLI Toolsweb-apps— Web Appsdev-tools— Dev Toolsapi-services— API & Servicesdata-tools— Data Toolsai-ml— AI & MLautomation— Automationlibraries— Libraries & SDKs
get_user_profile
Look up a creator's public profile with citation metrics.
Parameters:
username— ToolXiv username
Example prompt:
Show me the profile and tools for user "johndoe"
submit_tool
Submit a new tool to ToolXiv. Requires an API key (see below).
Parameters:
name— Tool namedescription— Short description (10–500 characters)repositoryUrl— GitHub/GitLab URLcategories— Array of category slugs (1–3)tags— Array of tags (up to 10)longDescription— Detailed description (optional)websiteUrl— Project website (optional)language— Primary language (optional)license— License identifier (optional)agentPrompt— Agent integration prompt (optional)citations— References to other tools (optional)
The submitted tool enters "pending" status and goes through review before appearing publicly.
Example prompt:
Submit my tool "fastparse" — a Rust CLI for parsing large CSV files.
Repository: https://github.com/me/fastparse
Categories: cli-tools, data-tools
Tags: csv, parser, rust, performance
License: MIT
Authentication
Reading is free. The first 5 tools (search_tools, get_tool, get_trending, list_categories, get_user_profile) work without any API key. Anonymous access is rate-limited to 100 requests/day and 10 requests/minute.
Submitting requires an API key. Generate one from your dashboard, then add the env block to your config:
{
"mcpServers": {
"toolxiv": {
"command": "npx",
"args": ["-y", "@toolxiv/mcp"],
"env": {
"TOOLXIV_API_KEY": "txv_your_key_here"
}
}
}
}
With an API key, your rate limit increases to 1,000 requests/day with no per-minute burst limit.
Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| TOOLXIV_API_KEY | Only for submit_tool | — | Your API key (starts with txv_) |
| TOOLXIV_API_URL | No | https://toolxiv.org/api/v1 | Custom API URL (for development) |
Rate Limits
| Tier | Daily Limit | Burst Limit | How to Get |
|------|-------------|-------------|------------|
| Anonymous | 100/day | 10/min | No setup needed |
| Authenticated | 1,000/day | None | Add TOOLXIV_API_KEY |
Rate limit headers are included in every API response:
X-RateLimit-Limit— Your daily limitX-RateLimit-Remaining— Requests left todayX-RateLimit-Reset— When the limit resets (Unix timestamp)
Usage Examples
Discover tools for a project
I'm building a data pipeline in Python. Search ToolXiv for
relevant data tools and automation libraries I could use.
Research before building
Before I build a new markdown parser, search ToolXiv to see
if one already exists. Check trending tools too.
Submit after building
I just finished building my tool. Submit it to ToolXiv:
- Name: logpeek
- Description: A lightweight CLI for tailing and filtering structured logs
- Repo: https://github.com/me/logpeek
- Categories: cli-tools, dev-tools
- Tags: logging, cli, structured-logs, json
- Language: Go
- License: MIT
Troubleshooting
"User-Agent header is required"
The MCP server sets this automatically. If you see this error, you may be calling the API directly without a User-Agent header. Add one to your requests.
"TOOLXIV_API_KEY is required for this operation"
You're trying to use submit_tool without an API key. Add your key to the env block in your MCP config.
Tools not showing up in Claude Code
Run claude mcp list to verify the server is registered. If it's missing, re-add it:
claude mcp add toolxiv -- npx -y @toolxiv/mcp
Connection timeout
The server fetches data from toolxiv.org. Check your internet connection. For local development, set TOOLXIV_API_URL to your local server.
Next Steps
- Getting Started — Learn about ToolXiv basics
- API Guide — Use the REST API directly
- How to Register a Tool — Submit tools via the web UI
- Citation Guide — Learn about the citation system