eve-sde-mcp
The eve-sde-mcp server provides comprehensive access to Eve Online's Static Data Export (SDE) and live character data via the ESI API.
Static Data & Item Info
Search for item types (ships, modules, ammo, drones) with category/group filters
Retrieve full type details including dogma attributes, effects, traits, and meta info
Compare multiple types side-by-side on dogma attributes (up to 10 at once)
Navigate inventory groups, categories, and market group trees
Universe Data
Search and retrieve details for solar systems (security status, stargates, region), regions, and stations
Blueprint & Industry Data
Get blueprint details: materials, products, required skills, and time for all activities (manufacturing, invention, copying, ME/TE research, reaction)
Search blueprints by product name
Access public system cost indices for industry
Raw Database Access
Execute read-only SQL queries directly against the SDE database
Check SDE status (version, download date, available tables) and refresh/update it from Fuzzwork
ESI Authentication & Character Data
EVE SSO OAuth login with encrypted local token storage and multi-character support
Character skills (with SDE enrichment), skill queue, and attributes
Check skill requirements for ships/modules
Market & Trading
Wallet balance, market orders (open/history), wallet journal, and transactions
Public market data: global average/adjusted prices, regional orders, and daily price/volume history
Orders in player-owned structures (authenticated)
Killmails
Fetch a character's recent killmails (kills and losses)
Get full details for any public killmail (victim fitting, attackers, item names)
Fittings Management
Retrieve, save, delete, and parse (EFT format) character fittings
Assets & Contracts
Character assets in hangars/containers
Active/recent industry jobs
Character contracts (courier, item exchange, auction)
Click on "Install 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., "@eve-sde-mcpGet the fitting stats for a Vexor."
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.
eve-sde-mcp
MCP server providing access to Eve Online's Static Data Export (SDE) and live character data via the ESI API — ship stats, module attributes, universe data, industry blueprints, character skills, and more.
Static data is powered by the Fuzzwork SQLite conversion of CCP's SDE. Live data uses EVE SSO OAuth with PKCE (no client secret needed).
Tools
Static Data (SDE)
Tool | Description |
| Search items by name with category/group filters |
| Full type detail with dogma attributes, effects, and traits |
| Dogma attributes (CPU, PG, damage, resists, etc.) |
| Effects and slot type (hi/med/low/rig) |
| Side-by-side attribute comparison for multiple types |
| Inventory group with all types |
| Inventory category with child groups |
| Market group tree navigation |
| Search solar systems by name |
| System details, connected systems, stations |
| Region with constellations |
| Station details |
| Blueprint materials, products, skills, time |
| Find blueprints by product name |
| Raw read-only SQL against the SDE |
| SDE version, download date, table list |
| Download/update the SDE from Fuzzwork |
Live Character Data (ESI)
Tool | Description |
| Start EVE SSO OAuth login flow |
| Show authenticated characters and token status |
| Remove stored tokens for a character |
| Switch active character for queries |
| All trained skills with SDE-enriched names and groups |
| Current skill training queue |
| Character attributes (int/mem/per/will/cha) |
| Check if character meets skill reqs for a ship/module |
Market & Trading (ESI)
Tool | Description |
| Character ISK balance |
| Open market orders with item names |
| Completed/cancelled/expired orders |
| ISK income/expense log |
| Recent market buys/sells with item names |
| Global average/adjusted prices (public) |
| Market orders for an item in a region (public) |
| Daily price/volume history for an item (public) |
| Orders in a player-owned structure (authenticated) |
| List type IDs with active orders in a region (public) |
Killmails (ESI)
Tool | Description |
| Character's recent kills and losses (IDs + hashes) |
| Full killmail detail with victim fitting, attackers, SDE names (public) |
Fittings (ESI)
Tool | Description |
| All saved fittings with ship/module names from SDE |
| Save a fitting from EFT format or structured input (write) |
| Delete a saved fitting by ID (write) |
| Preview EFT parsing without saving — resolves names to IDs and slot flags |
Industry & Assets (ESI)
Tool | Description |
| Active/recent manufacturing, research, invention jobs |
| System cost indices for industry (public) |
| Items in hangars/containers with names |
| Courier, item exchange, auction contracts |
Related MCP server: EVE Tycoon MCP Server
Setup
Requires Node.js 20+.
git clone https://github.com/ramonvanalteren/eve-sde-mcp.git
cd eve-sde-mcp
npm install
npm run buildThe SDE database (~460MB) is auto-downloaded to ~/.eve-sde/eve.db on first run.
Claude Desktop / Claude Chat
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"eve-sde": {
"command": "node",
"args": ["/path/to/eve-sde-mcp/dist/index.js"]
}
}
}Restart Claude Desktop to connect.
ESI Authentication
To use the live character data tools, you need an EVE SSO application:
Register at https://developers.eveonline.com — create an app with "Authentication & API Access", callback URL
http://localhost:8085/callbackCreate
~/.eve-sde/config.json:{ "clientId": "your_client_id_here" }Use the
esi_logintool — it opens a browser for EVE SSO login and stores encrypted tokens locally
Tokens are encrypted at rest (AES-256-GCM) and stored in ~/.eve-sde/auth.db. Scopes include skill reading, wallet, market, industry, assets, contracts, and fittings (read+write). Multi-character support is built in.
Development
npm run dev # Run with tsx (no build needed)
npm test # Run test suite
npm run test:watch # Watch mode
npm run build # Compile TypeScriptData
SDE:
~/.eve-sde/eve.db— userefresh_sdeto updateAuth tokens:
~/.eve-sde/auth.db— encrypted, useesi_logoutto removeConfig:
~/.eve-sde/config.json— EVE SSO Client IDThe
query_sdetool allows arbitrary SELECT queries for anything the specific tools don't cover
License
MIT
Available Tools
17 toolscompare_typesA
Compare dogma attributes side-by-side for multiple types. Useful for comparing ships or modules.
| Name | Required | Description | Default |
|---|---|---|---|
| type_ids | Yes | List of typeIDs to compare | |
| attributes | No | Optional list of attribute names to compare. If omitted, returns all shared attributes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only says 'compare dogma attributes side-by-side' without detailing the output format, ordering, or any side effects. For a tool with no annotation coverage, this is insufficient.
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?
Two sentences, front-loaded with the core action and followed by a use-case example. No wasted words; every sentence adds value.
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 two simply typed parameters and no output schema, the description covers the basic functionality. However, it omits details about the output structure (e.g., side-by-side format) and does not explain 'dogma attributes,' which may be unfamiliar. Adequate but not thorough.
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 coverage is 100%: both 'type_ids' and 'attributes' are described. The description adds context about 'dogma attributes' and 'side-by-side' comparison, but does not elaborate on how attribute names are specified. Baseline 3 applies.
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 tool compares dogma attributes side-by-side for multiple types. It uses a specific verb ('compare') and resource ('dogma attributes for types'), and distinguishes from sibling tools like get_type which return single-item data.
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 a clear use case: 'Useful for comparing ships or modules.' It gives context on when to use the tool, though it does not explicitly mention when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blueprintB
Get Eve Online blueprint details — materials, products, skills, and time for all activities (manufacturing, invention, copying, ME/TE research, reaction).
| Name | Required | Description | Default |
|---|---|---|---|
| blueprint_type_id | Yes | typeID of the blueprint |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It states the output categories but does not mention whether the operation is read-only, requires authentication, has rate limits, or returns partial data. This is insufficient 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 a single, well-structured sentence that front-loads the main action and then lists specifics. No wasted words.
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?
With only one parameter and no output schema, the description provides a good overview of the return content (materials, products, skills, time). However, it omits details about the output structure or pagination, slightly reducing completeness.
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 coverage is 100% as the only parameter has a description 'typeID of the blueprint'. The tool description adds no further semantics beyond the schema. Baseline score of 3 is appropriate.
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 uses the specific verb 'Get' and names the resource 'Eve Online blueprint details', then lists concrete data categories (materials, products, skills, time) and activities (manufacturing, invention, etc.). This clearly distinguishes it from siblings like search_blueprints and get_type.
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?
No guidance is provided on when to use this tool versus alternatives like search_blueprints or get_type. The description does not state any prerequisites, exclusions, or context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_categoryB
Get an Eve Online inventory category (e.g. Ship, Module, Drone, Charge) with its child groups.
| Name | Required | Description | Default |
|---|---|---|---|
| category_id | No | categoryID to look up | |
| name | No | Category name to search for (if category_id not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of behavioral disclosure. It only states the basic action and output, without mentioning read-only nature, rate limits, error handling, or what happens if the category is not found.
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 concise sentence that front-loads the purpose. Every word adds value; no extraneous information.
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 simple interface (2 parameters, no nested objects, no output schema), the description is largely complete for a lookup tool. However, it could hint at the return format or common usage patterns.
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 coverage is 100% with descriptions for both parameters (category_id and name). The description adds minimal extra meaning beyond the schema, so a baseline score of 3 is appropriate.
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 specifies the verb 'Get', the resource 'Eve Online inventory category', and includes examples (Ship, Module, Drone, Charge) and the output scope ('with its child groups'). This distinguishes it from sibling tools like get_group or get_type.
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?
No explicit guidance on when to use this tool versus alternatives (e.g., get_group for groups, search_types for searching). The description does not state prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_groupA
Get an Eve Online inventory group by ID or name, with all types in that group.
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | No | groupID to look up | |
| name | No | Group name to search for (if group_id not provided) | |
| include_types | No | Include all types in this group |
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. It mentions returning a group with all types but omits details like behavior when both ID and name are provided, error cases, or any rate limits/caching. Some behavioral info is present, but gaps remain.
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 sentence that is front-loaded with the verb and resource, contains no fluff, and effectively communicates the core functionality. Every word earns its place.
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?
With no output schema, the description should explain return structure but only mentions 'with all types in that group'. It does not cover behavior when no parameters are provided or conflict resolution. Adequate for a simple lookup but not fully complete.
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 baseline is 3. The description adds context about lookup by ID or name but does not significantly enhance understanding beyond the schema itself. The include_types default is noted but already described in schema.
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', the resource 'Eve Online inventory group', and the methods 'by ID or name', with the inclusion of types. This distinctly identifies the tool's purpose and differentiates it from siblings like get_category or get_type.
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?
No explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites, fallback behavior, or when to prefer get_group over other inventory lookup tools like search_types or get_category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_groupB
Navigate the Eve Online market group tree. Returns group info and children (subgroups or types).
| Name | Required | Description | Default |
|---|---|---|---|
| market_group_id | No | marketGroupID. Omit to get top-level market groups. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the output (group info and children) but lacks details on authentication, rate limits, or any side effects. It does not contradict annotations (none provided), but is minimal.
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, front-loaded sentence with no unnecessary words. Every part is informative.
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?
For a simple tool with one optional parameter and no output schema, the description covers inputs and general output. However, it lacks details on the response structure (e.g., whether children are IDs or objects). Adequate but not fully complete.
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 covers the parameter 100%, and the description adds valuable context: omitting the parameter returns top-level groups. This enhances understanding beyond the schema alone.
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 tool navigates the market group tree and returns group info and children, distinguishing it from sibling tools like get_group or get_category. The verb 'Navigate' is slightly vague, but the resource and output are well-defined.
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 for exploring market hierarchy, and the parameter description adds guidance on omitting the ID for top-level groups. However, it does not explicitly state when to use this tool versus alternatives like get_group.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regionB
Get an Eve Online region with its constellations and system count.
| Name | Required | Description | Default |
|---|---|---|---|
| region_id | No | regionID | |
| name | No | Region name (if region_id not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the action and result scope, but does not disclose authentication needs, rate limits, data freshness, or any side effects. The read behavior is implied but not confirmed.
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?
Single sentence with no superfluous information. All words contribute to the purpose. Efficient and well-structured.
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?
For a simple retrieval tool with no output schema, the description covers the basic purpose and parameter options. However, it lacks details on return format, pagination, or error handling, which could be useful for an agent.
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% with basic descriptions for both parameters. The description adds no additional meaning beyond 'regionID' and 'Region name', so baseline score of 3 applies.
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?
Description clearly states the verb 'Get' and the resource 'Eve Online region', and specifies the scope 'with its constellations and system count'. This distinguishes it from sibling tools like get_system or get_station, which retrieve different entities.
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?
No guidance on when to use this tool versus alternatives. No mention of prerequisites, when region_id vs name is preferred, or contrast with siblings like query_sde or search_systems.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sde_statusA
Get the current status of the Eve Online SDE database — version, download date, file size, and available tables.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It transparently states the tool returns status information and implies no side effects, but does not explicitly disclose read-only nature or mention potential rate limits.
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?
A single, focused sentence that conveys the essential information without extraneous words. Every part is meaningful.
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 has no parameters, no output schema, and a straightforward purpose, the description fully covers what the tool does and what it returns.
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?
No parameters exist, so the baseline score of 4 applies. The description correctly indicates no inputs are needed.
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 resource 'status of the Eve Online SDE database', listing specific data points (version, download date, file size, available tables). This distinguishes it from sibling tools like query_sde and refresh_sde.
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 for checking status before querying or refreshing, but lacks explicit guidance on when to use this tool versus alternatives like refresh_sde or search_systems.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stationC
Get Eve Online station details.
| Name | Required | Description | Default |
|---|---|---|---|
| station_id | No | stationID | |
| name | No | Station name (if station_id not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers no behavioral details beyond the generic action of getting station details. It does not disclose what the return value is, whether the tool is read-only, what side effects occur, or any authorization requirements. With no annotations provided, this omission severely limits the agent's understanding of the tool's behavior.
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 extremely concise at one sentence. However, it is underspecified for an effective tool definition. While it is front-loaded with the core purpose, it omits necessary usage and behavioral information, making it minimally adequate.
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 presence of zero annotations and no output schema, the description should compensate by providing complete behavioral and usage context. It fails to do so, offering only a bare minimum statement. The tool has two optional parameters but no guidance on how to use them together, leaving gaps in completeness.
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 input schema has 100% coverage with descriptions for both parameters (station_id and name). The tool description adds no new meaning beyond what the schema already provides. As per guidelines, when schema coverage is high (100%), a score of 3 is appropriate.
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 'Eve Online station details,' making the tool's purpose immediately understandable. It distinguishes from sibling tools (e.g., get_system, get_blueprint) by the specific entity type 'station.' However, it does not elaborate on what 'details' entails, leaving some ambiguity.
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?
No guidance is provided on when to use this tool versus alternatives like get_system or search_stations. The description does not include context about prerequisites, limitations, or scenarios where other tools might be more appropriate, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_systemA
Get details for an Eve Online solar system — security status, constellation, region, and connected stargates.
| Name | Required | Description | Default |
|---|---|---|---|
| system_id | No | solarSystemID | |
| name | No | System name (if system_id not provided) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states what is retrieved without disclosing any behavioral traits such as authentication requirements, rate limits, or side effects. Minimal transparency beyond the return fields.
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?
Single sentence of 16 words, front-loaded, no unnecessary information, and efficient.
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?
The description adequately indicates return shape (security status, constellation, region, connected stargates) for a low-complexity tool with no output schema. No gaps remain given the context.
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 coverage is 100% and the description does not add new meaning to parameters beyond what is already in the schema. The description lists return fields but not parameter details, so it 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?
Description clearly states 'Get details for an Eve Online solar system' and lists specific fields (security status, constellation, region, connected stargates), distinguishing it from siblings like search_systems.
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?
Implies usage for retrieving system details but does not explicitly state when to use versus alternatives (e.g., search_systems) or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_typeA
Get full details for an Eve Online type by ID, including all dogma attributes (CPU, powergrid, damage, resistances, etc.), effects, traits, and meta info.
| Name | Required | Description | Default |
|---|---|---|---|
| type_id | Yes | The typeID to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It lists returned data categories but does not disclose error behavior (e.g., invalid type_id), authentication requirements, or response format. For a read-only lookup, this is adequate but not comprehensive.
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 sentence listing key details, which is efficient. However, it could be split into two sentences for readability, slightly reducing conciseness.
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 simple single-parameter tool and sibling tools that cover subsets, the description provides sufficient information about what the tool returns. It lacks details on authentication or potential errors, but for a basic lookup, completeness is good.
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 coverage is 100% with one parameter (type_id) described as 'The typeID to look up'. The tool description adds 'by ID' but does not provide additional context beyond the schema. Baseline score of 3 is appropriate.
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 tool retrieves full details for an Eve Online type by ID, listing specific data categories (dogma attributes, effects, traits, meta info). It distinguishes from sibling tools like get_type_attributes and get_type_effects, which focus on subsets.
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 when full type details are needed and provides a clear action ('Get full details... by ID'). However, it lacks explicit guidance on when to use alternatives like get_type_attributes or get_type_effects, and does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_type_attributesA
Get all dogma attributes for a type, with human-readable names and units. Essential for fitting: CPU, powergrid, capacitor, damage, tracking speed, signature radius, resistances, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| type_id | Yes | The typeID | |
| filter | No | Optional filter on attribute name (e.g. 'damage', 'cpu', 'power', 'resist', 'capacity') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It correctly implies a read operation, but does not explicitly state read-only nature, permissions, or any side effects. It adds some behavioral context by listing example attributes but lacks full 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 two sentences, front-loaded with purpose, and contains no redundant or irrelevant information. Every word contributes 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 lack of an output schema, the description does not specify the return structure (e.g., format of attributes list). It mentions human-readable names and units but could be more explicit about what fields are returned. The description is adequate for a simple tool but leaves some ambiguity about the response format.
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% (both parameters described). The description adds value beyond schema by listing example attribute names for the filter parameter and contextualizing the output for fitting, but does not provide significant new parameter-level detail beyond what the schema already offers.
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 'all dogma attributes for a type', and provides concrete examples (CPU, powergrid, capacitor, etc.) that distinguish it from sibling tools like 'get_type' (type info) and 'get_type_effects' (effects).
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 for fitting ('Essential for fitting'), but does not explicitly state when to use or not use this tool versus alternatives, nor provide any exclusions or context for sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_type_effectsB
Get effects for a type — determines slot type (hiSlot, medSlot, loSlot, rigSlot), activation effects, passive bonuses, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| type_id | Yes | The typeID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits such as whether the operation is read-only, requires authentication, or has rate limits. The description solely focuses on output content.
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 sentence that immediately conveys the tool's purpose without extraneous information. It is front-loaded and efficient.
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?
For a simple lookup tool with one parameter and no output schema, the description is fairly complete by listing the types of effects returned. Minor gap: does not specify the structure of the response.
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 coverage is 100% with a minimal description ('The typeID'). The tool description adds no further meaning about the parameter, so it meets the baseline of 3 without enhancement.
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 it retrieves effects for a type, specifying examples like slot type, activation effects, and passive bonuses. This distinguishes it from sibling tools like get_type (basic info) and get_type_attributes.
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?
No guidance on when to use this tool versus siblings like get_type or get_type_attributes. The description does not specify contexts or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_sdeA
Run a read-only SQL query against the Eve Online SDE database. Only SELECT statements are allowed. Use this for anything the other tools don't cover.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | SQL SELECT query to execute | |
| params | No | Bind parameters for the query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool is read-only and only accepts SELECT statements, which are the key behavioral traits. It does not mention potential limits or response details, but the disclosed information is sufficient for a query tool.
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 consists of two sentences, front-loading the action and constraint with no wasted words. Every sentence serves a purpose: stating the operation and providing usage guidance.
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?
The tool has no output schema, so the agent must infer return values. The description does not explain the response format, error handling, or any execution limits. While the tool is relatively simple, the missing output details reduce completeness.
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% (both 'sql' and 'params' are described). The description reinforces the schema by restating 'SQL SELECT query' for the sql parameter. It does not add significant new meaning beyond the schema, so the baseline of 3 is appropriate.
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 'Run' and resource 'SQL query against the Eve Online SDE database', with explicit constraints 'read-only' and 'Only SELECT statements'. It also distinguishes from siblings by stating 'Use this for anything the other tools don't cover'.
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 explicit usage context: 'Use this for anything the other tools don't cover' and specifies that only SELECT statements are allowed. It lacks explicit when-not scenarios but gives clear guidance for when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_sdeA
Download or update the Eve Online SDE database from Fuzzwork. This replaces the current database with the latest version. Takes a minute or two.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it replaces the current database (destructive) and takes a minute or two, but no info on permissions, locking, or error states. No annotations provided.
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?
Two sentences with no waste, front-loaded with purpose. Efficient and clear.
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?
Fairly complete for a parameterless action: explains action, effect, and time. Lacks detail on prerequisites or error handling, but adequate given simplicity.
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?
No parameters exist, so baseline 4 applies. Description adds no param details, but none needed.
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 'Download or update the Eve Online SDE database from Fuzzwork' with a specific verb and resource, and distinguishes from siblings like get_sde_status.
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?
No guidance on when to use this tool vs alternatives (e.g., get_sde_status for checking current version). Only mentions time estimate, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_blueprintsA
Search for Eve Online blueprints by product name. Find what blueprint makes a given item.
| Name | Required | Description | Default |
|---|---|---|---|
| product_name | Yes | Name of the product to find blueprints for | |
| limit | No | Max results |
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. It only states 'Search' and 'Find', which implies a read operation but does not disclose any behavioral traits such as whether the search is case-sensitive, supports partial matches, or has rate limits. The description is too minimal for a tool with no annotations.
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?
Two short sentences with only 15 words, front-loaded with the essential purpose. No redundant information or filler. Every word earns its place.
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?
For a simple tool with 2 parameters and no output schema, the description is mostly adequate but lacks details on what the search returns (e.g., list of blueprint names or IDs), any sorting or pagination behavior, and search semantics like partial matching. It covers the basic purpose but not the full context.
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 coverage is 100% with descriptions for both parameters: 'product_name' and 'limit'. The description adds 'Find what blueprint makes a given item', reinforcing the purpose but not adding significant new meaning beyond what the schema already provides. Baseline 3 is appropriate.
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 it searches for Eve Online blueprints by product name, specifying the verb 'Search' and the resource 'blueprints'. It distinguishes itself from sibling tools like 'get_blueprint' (single blueprint) and 'search_types' (general types) by focusing on blueprint-finding via product name.
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 when you want to find what blueprint makes an item, but it does not explicitly state when to use this tool versus alternatives like 'search_types' or 'get_type'. No exclusion criteria or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_systemsC
Search Eve Online solar systems by name.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | System name or partial name | |
| limit | No | Max results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry burden. It does not disclose if search is fuzzy, case-sensitive, or paginated, leaving 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?
Single sentence is concise and front-loaded, but could be slightly improved by adding a result hint without increasing length.
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?
For a simple search tool with full schema coverage, description is nearly complete but lacks output description (e.g., returns list of systems). Adequate but not excellent.
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 descriptions fully cover both parameters ('partial name', 'max results'), so description adds little new meaning. Baseline 3 is appropriate as schema already clarifies usage.
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?
Description clearly states it searches solar systems by name with a specific verb and resource, distinguishing it from sibling tools like get_system or compare_types.
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?
No guidance on when to use this tool vs alternatives such as get_system for exact matches or search_types for broader queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_typesB
Search Eve Online item types by name. Returns type_id, name, group, and category. Use this to find ships, modules, ammo, drones, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Name or partial name to search for | |
| category | No | Filter by category name (e.g. 'Ship', 'Module', 'Drone', 'Charge') | |
| group | No | Filter by group name (e.g. 'Frigate', 'Cruiser', 'Energy Weapon') | |
| published_only | No | Only return published (available in-game) types | |
| limit | No | Max 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 responsibility for behavioral disclosure. It mentions return fields but does not disclose any behavioral traits such as pagination, rate limits, or sorting behavior. The description is minimal, lacking depth beyond what the input schema already indicates.
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 extremely concise: two sentences, no wasted words. It front-loads the core action and purpose, making it easy to scan. Every sentence adds value.
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 output schema and moderate complexity (5 parameters, 1 required), the description adequately states the purpose and return fields but omits details like pagination limits and default behavior for optional filters. It covers basics but is not completely thorough.
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 coverage is 100%, so the input schema fully describes parameters. The description adds value by listing returned fields (type_id, name, group, category), which gives context but does not significantly enhance understanding of parameters beyond their schema descriptions. Baseline score of 3 is appropriate.
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 tool searches Eve Online item types by name and lists returned fields (type_id, name, group, category). It provides examples of what to find (ships, modules, ammo, drones), making the purpose specific. However, it does not explicitly differentiate from sibling tools like compare_types or get_type, slighting missing a contrast.
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 suggests using this tool to find items by name, which implies general search. It does not provide when-not-to-use or mention alternatives among the many sibling tools (e.g., get_type for exact IDs, search_blueprints for blueprints). The guidance is implied but not explicit, so scores a 3.
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. Dates show when Glama detected each change.
17 tool updates
v1.0.0- First observed
compare_types - First observed
get_blueprint - First observed
get_category - First observed
get_group - First observed
get_market_group - First observed
get_region - First observed
get_sde_status - First observed
get_station - First observed
get_system - First observed
get_type - First observed
get_type_attributes - First observed
get_type_effects - First observed
query_sde - First observed
refresh_sde - First observed
search_blueprints - First observed
search_systems - First observed
search_types
TDQS
Scored across 17 tools
Most tools have distinct purposes, but there is some overlap between get_type, get_type_attributes, and get_type_effects, as well as between get_blueprint and search_blueprints. However, descriptions clarify the differences, and the overlap is minimal.
Tool names follow a consistent verb_noun pattern (get_, search_, compare_, query_, refresh_), with only minor plural/singular variations that are intuitive. The naming is predictable and clear.
17 tools is slightly above average but appropriate for the large EVE Online SDE domain. Each tool serves a clear purpose, and the count is reasonable for covering types, blueprints, systems, regions, and custom queries.
The tool surface is remarkably complete for an SDE database, covering retrieval of all major entity types (types, blueprints, systems, regions, stations, market groups, categories, groups) plus search, comparison, and raw SQL access for edge cases.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceこのMCPサーバーは、EVE Onlineのマーケットデータにアクセスするためのインターフェースを提供します。ESI(EVE Swagger Interface)APIを使用して、リアルタイムの市場データを取得できます。101,0709MIT
- AlicenseAqualityDmaintenanceThis MCP server allows you to interact with the EVE Tycoon API to retrieve market data, price statistics, order books, and historical pricing information for EVE Online items across different regions.64MIT
- AlicenseAqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for EVE Online traffic, navigation, and system information using both the official ESI API and SDE data.206TypeScriptMIT
- FlicenseAqualityNot gradedmaintenanceAn MCP server that provides Claude with direct access to EVE Online character data, market prices, killboard intelligence, wiki knowledge, and game mechanics. It enables natural language interaction for checking skills, analyzing fittings, setting in-game destinations, and accessing real-time EVE Online information.37-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ramonvanalteren/eve-sde-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server