Artificial Analysis MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Artificial Analysis MCP ServerList the top 5 models with the highest intelligence index"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Artificial Analysis MCP Server
An MCP (Model Context Protocol) server that provides LLM model pricing, speed metrics, and benchmark scores from Artificial Analysis.
Features
Get real-time pricing for 300+ LLM models (input/output/blended rates)
Compare speed metrics (tokens/sec, time to first token)
Access benchmark scores (Intelligence Index, Coding Index, MMLU-Pro, GPQA, and more)
Filter by provider (OpenAI, Anthropic, Google, etc.)
Sort by any metric
Related MCP server: LLM Benchmark MCP Server
Installation
Claude Code
claude mcp add artificial-analysis -e AA_API_KEY=your-key -- npx -y artificial-analysis-mcpOr install from GitHub:
claude /mcp add https://github.com/davidhariri/artificial-analysis-mcpManual Configuration
Add to your Claude settings (~/.claude/settings.json):
{
"mcpServers": {
"artificial-analysis": {
"command": "npx",
"args": ["-y", "artificial-analysis-mcp"],
"env": {
"AA_API_KEY": "your-api-key"
}
}
}
}Configuration
Environment Variable | Required | Description |
| Yes | Your Artificial Analysis API key |
Get your API key at artificialanalysis.ai.
Tools
list_models
List all available LLM models with optional filtering and sorting.
Parameters:
Name | Type | Required | Description |
| string | No | Filter by model creator (e.g., "OpenAI", "Anthropic") |
| string | No | Sort field (see below) |
| string | No | "asc" or "desc" (default: "desc") |
| number | No | Maximum results to return |
Sort fields: price_input, price_output, price_blended, speed, ttft, intelligence_index, coding_index, math_index, mmlu_pro, gpqa, release_date
Example usage:
"List the top 5 fastest models"
"Show me Anthropic models sorted by price"
"What are the cheapest models with high intelligence scores?"
get_model
Get detailed information about a specific model.
Parameters:
Name | Type | Required | Description |
| string | Yes | Model name or slug (e.g., "gpt-4o", "claude-4-5-sonnet") |
Returns: Complete model details including pricing, speed metrics, and all benchmark scores.
Example usage:
"Get pricing for GPT-4o"
"What are Claude 4.5 Sonnet's benchmark scores?"
Model Data
Each model includes:
Pricing: Input/output/blended rates per 1M tokens (USD)
Speed: Output tokens per second, time to first token
Benchmarks: Intelligence Index, Coding Index, Math Index, MMLU-Pro, GPQA, LiveCodeBench, and more
Development
# Install dependencies
npm install
# Build
npm run build
# Run locally
AA_API_KEY=your-key node dist/index.jsLicense
MIT
Available Tools
2 toolsget_modelGet Model DetailsA
Get detailed information about a specific LLM model including pricing (input/output/blended per 1M tokens), speed metrics (tokens/sec, TTFT), and benchmark scores (Intelligence Index, Coding Index, MMLU-Pro, GPQA, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model name or slug (e.g., "claude-4-5-sonnet", "gpt-4o") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what information is returned but does not mention whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or data freshness. For a tool with no annotations, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose and lists specific details without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is complete enough for basic understanding. However, it lacks details on behavioral aspects like error handling or data sources, which would be helpful for an agent to use it effectively in varied contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'model' well-documented in the schema. The description does not add any additional meaning beyond what the schema provides, such as format examples or constraints, but the schema already covers this adequately, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'detailed information about a specific LLM model', with specific examples of the information returned (pricing, speed metrics, benchmark scores). It distinguishes from the sibling 'list_models' by focusing on details for a single model rather than listing multiple models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'a specific LLM model', suggesting this tool is for detailed lookup rather than browsing. However, it does not explicitly state when to use this versus 'list_models' or provide any exclusions or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsList LLM ModelsA
List all available LLM models from Artificial Analysis with pricing, speed, and benchmark data. Filter by creator (OpenAI, Anthropic, Google, etc.) and sort by price, speed, or benchmark scores.
| Name | Required | Description | Default |
|---|---|---|---|
| creator | No | Filter by model creator (e.g., "OpenAI", "Anthropic", "Google") | |
| sort_by | No | Field to sort by | |
| sort_order | No | Sort order (default: desc) | desc |
| limit | No | Maximum number of results to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks important behavioral details. It doesn't mention whether this is a read-only operation, what authentication might be required, rate limits, pagination behavior (beyond the 'limit' parameter), or what the response format looks like. The description only covers basic functionality without behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise - a single sentence that efficiently communicates the core purpose, key capabilities, and available filters/sorting options. Every word earns its place with zero wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool with 4 parameters. It doesn't explain what the return values look like (structure, fields, data types), error conditions, or important behavioral aspects like whether this makes external API calls. The description covers basic functionality but leaves critical contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all parameters. The description mentions filtering by creator and sorting options, which aligns with the schema but doesn't add meaningful semantic context beyond what's already in the parameter descriptions. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all available LLM models from Artificial Analysis') with specific attributes included (pricing, speed, benchmark data). It distinguishes from the sibling 'get_model' by emphasizing comprehensive listing rather than retrieving a specific model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (to get a filtered/sorted list of models with pricing and benchmark data). It doesn't explicitly state when NOT to use it or name alternatives, but the sibling tool 'get_model' is implied as an alternative for single-model retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
get_model - First observed
list_models
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: 'get_model' retrieves detailed information about a specific model, while 'list_models' provides a filtered and sortable overview of all available models. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on whether it needs detailed data on one model or a broader list.
Both tool names follow a consistent verb_noun pattern ('get_model' and 'list_models'), using simple, descriptive verbs that clearly indicate the action. The naming is uniform and predictable, with no deviations in style or convention.
With only two tools, the server feels under-scoped for its apparent domain of LLM model analysis. While the tools cover basic retrieval and listing, a more comprehensive server might include operations like comparing models, updating model data, or managing user preferences, making the current set feel thin and potentially limiting for agent workflows.
The tool set is severely incomplete for a server focused on LLM model analysis. It lacks essential operations such as comparing models, filtering by specific benchmarks, updating or adding model information, and handling user-specific queries or alerts. This creates significant gaps that could lead to agent failures when trying to perform common analytical tasks.
Maintenance
Related MCP Connectors
Sourced AI-model pricing and capability data — compare and route to the cheapest capable model.
Source-backed AI model pricing, rankings, history, and benchmark data.
Live LLM API pricing: token prices, comparisons, cheapest-model lookups. No key required.
Compare LLM API pricing, estimate workload costs, and benchmark cloud compute. By OptimNow.
Related MCP Servers
- AlicenseAqualityFmaintenanceProvides AI assistants with real-time access to 1000+ AI models including their latest pricing, context windows, capabilities, and specifications. Supports model search, comparison, recommendations, and live testing.354 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to compare LLM benchmarks, get pricing, and receive model recommendations for tasks and budgets.1MIT
- AlicenseAqualityDmaintenanceEnables AI agents to query LLM and multimodal model benchmarks, pricing, speed, and track model updates via structured diffs using the Artificial Analysis public API.72MIT
- AlicenseAqualityDmaintenanceEnables AI agents to discover, compare, and select the best AI models across multiple providers based on pricing, performance, and capabilities, with real-time cost estimation and benchmarking.940 npm1MIT