EVE Tycoon MCP Server
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 Tycoon MCP Serverget market stats for PLEX in The Forge region"
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 Tycoon MCP Server
A Model Context Protocol (MCP) server that provides access to the EVE Tycoon API for EVE Online market data.
Overview
This 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.
Related MCP server: EVE ESI Tool
Features
Tools
get_market_stats: Get price and volume statistics for an item in a specific region
get_market_orders: Get the current order book for an item type with metadata
get_market_history: Get price history for an item in a region
get_regions: Get list of all EVE Online regions
get_market_groups: Get list of all market groups
get_market_group_types: Get list of item types in a specific market group
Resources
EVE Tycoon API Documentation: Quick reference for API endpoints and usage
Prompts
market-analysis: Generate queries to find market data for specific items
comprehensive-analysis: Perform detailed market analysis for items
Installation
Installing via Smithery
To install evetycoon-mcp-server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @kongyo2/evetycoon-mcp-server --client claudeManual Installation
Clone this repository
Install dependencies:
npm installBuild the project:
npm run build
Usage
Development
Run the server in development mode:
npm run devProduction
Build and start the server:
npm run build
npm startTesting
Run tests:
npm testAPI Endpoints Covered
This MCP server provides access to all documented EVE Tycoon API endpoints:
Market APIs
/v1/market/stats/{regionId}/{typeId}- Market statistics/v1/market/orders/{typeId}- Order book data/v1/market/history/{regionId}/{typeId}- Price history
Static Data APIs
/v1/market/regions- All regions/v1/market/groups- All market groups/v1/market/groups/{groupId}/types- Types in market group
Configuration
The server connects to the EVE Tycoon API at https://evetycoon.com/api. No authentication is required for the public endpoints.
Rate Limiting
Please respect the Expires header returned by the EVE Tycoon API. The server will pass through caching information from the upstream API.
Examples
Get Market Stats for PLEX in The Forge
// Using the get_market_stats tool
{
"regionId": 10000002, // The Forge
"typeId": 44992 // PLEX
}Get All Orders for a Specific Item
// Using the get_market_orders tool
{
"typeId": 44992, // PLEX
"regionId": 10000002 // Optional: filter by region
}Get Price History
// Using the get_market_history tool
{
"regionId": 10000002, // The Forge
"typeId": 44992 // PLEX
}License
MIT License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is an unofficial tool and is not affiliated with CCP Games or EVE Online. EVE Online is a trademark of CCP hf.
Available Tools
6 toolsget_market_groupsBRead-only
Returns the list of all market groups
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true and openWorldHint=true, indicating a safe read operation with potentially incomplete data. The description adds no behavioral context beyond this, such as rate limits, authentication needs, or data freshness. It doesn't contradict annotations, but adds minimal value beyond them.
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 with zero waste. It's front-loaded with the core action and resource, making it immediately clear. Every word earns its place, and there's no redundancy or unnecessary elaboration.
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 read-only tool with no parameters and good annotations, the description is adequate but minimal. It lacks output details (no schema provided), doesn't explain data format or scope limitations, and misses sibling differentiation. It's complete enough for basic use but leaves gaps in contextual understanding.
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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to explain parameters, and it correctly implies no filtering or options are available. This meets expectations for a parameterless tool.
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 ('Returns') and resource ('list of all market groups'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_market_group_types' or 'get_market_stats', which likely return different market-related data. The description is specific but lacks sibling distinction.
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 no guidance on when to use this tool versus alternatives. With siblings like 'get_market_group_types' and 'get_market_stats', there's no indication of what distinguishes this tool's scope or when it's appropriate. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_group_typesBRead-only
Returns the list of types in a market group
| Name | Required | Description | Default |
|---|---|---|---|
| groupId | Yes | Market group ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true and openWorldHint=true, indicating a safe read operation with potential for incomplete data. The description adds minimal behavioral context beyond this, as it doesn't specify return format, pagination, or error handling. No contradiction with annotations exists, but the description doesn't enrich the behavioral profile significantly.
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, direct sentence with zero waste, efficiently conveying the core purpose without unnecessary details. It's appropriately sized and front-loaded for clarity.
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) and annotations covering safety, the description is minimally adequate. However, it lacks details on return values or error cases, which could be helpful for an agent despite the annotations. It meets basic needs but leaves gaps in 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 description coverage is 100%, with the single parameter 'groupId' documented as 'Market group ID'. The description doesn't add meaning beyond this, such as explaining what a market group is or valid ID ranges. Baseline 3 is appropriate since the schema handles parameter documentation adequately.
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 action ('Returns') and target resource ('list of types in a market group'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_market_groups' or 'get_market_stats', which might also return related market data, so it misses full sibling distinction.
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 no guidance on when to use this tool versus alternatives. With siblings like 'get_market_groups' and 'get_market_stats', there's no indication of context, exclusions, or comparative use cases, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_historyBRead-only
Returns the price history of an item in a particular region
| Name | Required | Description | Default |
|---|---|---|---|
| regionId | Yes | Region ID | |
| typeId | Yes | Item type ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating this is a safe read operation with potentially open-ended data. The description adds the specific behavioral context of returning 'price history', which implies time-series data, but doesn't disclose details like date ranges, pagination, or rate limits. With annotations covering core traits, this adds some value but not rich behavioral context.
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 core purpose without any wasted words. It's appropriately sized for a simple tool with good annotations and schema coverage.
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 moderate complexity (2 required parameters, no output schema), the description is minimally adequate. It covers the basic purpose but lacks usage guidelines and detailed behavioral context. With annotations providing safety and openness hints, it's complete enough for basic use but could be improved with more 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 description coverage is 100%, with both parameters (regionId and typeId) documented in the schema. The description implies these parameters are used to specify the item and region for price history, but doesn't add syntax or format details beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.
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 'returns' and the resource 'price history of an item in a particular region', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like get_market_stats or get_market_orders, which might also provide market-related 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 no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over siblings like get_market_stats (which might provide aggregated statistics) or get_market_orders (which might show current orders), leaving the agent without contextual usage cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_ordersBRead-only
Returns the current order book for an item type, with metadata about the type and locations
| Name | Required | Description | Default |
|---|---|---|---|
| typeId | Yes | Item type ID | |
| regionId | No | Region ID to filter on | |
| systemId | No | System ID to filter on | |
| locationId | No | Location ID (station, structure) to filter on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true and openWorldHint=true, indicating a safe read operation with potentially large data sets. The description adds value by specifying it returns 'current order book' and 'metadata about the type and locations,' which clarifies the scope beyond annotations. However, it lacks details on rate limits, pagination, or data freshness, which would enhance behavioral understanding. No contradiction with annotations is present.
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 core purpose. It avoids redundancy and waste, making it easy to parse. However, it could be slightly more structured by explicitly separating the main function from filtering details, but overall it is concise and well-formed.
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 moderate complexity (4 parameters, no output schema), the description is adequate but incomplete. It covers what the tool does and filtering options, but lacks details on output format, error handling, or usage examples. With annotations providing safety hints, it meets minimum viability, but could be more comprehensive to fully guide an agent in invocation and interpretation.
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 clear descriptions for all four parameters (typeId, regionId, systemId, locationId). The description adds minimal semantics by implying these are used for filtering ('to filter on'), but does not provide additional context like format examples or interdependencies. Since the schema already documents parameters well, the baseline score of 3 is appropriate as the description adds little extra value.
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's purpose: 'Returns the current order book for an item type, with metadata about the type and locations.' It specifies the verb ('Returns') and resource ('current order book for an item type'), making the function understandable. However, it does not explicitly differentiate from sibling tools like 'get_market_history' or 'get_market_stats', which likely provide different market data, so it misses full sibling distinction.
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 no guidance on when to use this tool versus alternatives. It mentions filtering by region, system, or location but does not specify when to choose this over siblings like 'get_market_history' (for historical data) or 'get_market_stats' (for statistical summaries). Without such context, users may struggle to select the appropriate tool for their needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_statsBRead-only
Returns price and volume stats for an item type in a specific region
| Name | Required | Description | Default |
|---|---|---|---|
| regionId | Yes | Region ID | |
| typeId | Yes | Item type ID | |
| systemId | No | System ID to filter on | |
| locationId | No | Location ID (station, structure) to filter on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and openWorldHint=true, which the description doesn't contradict. The description adds value by specifying the type of data returned ('price and volume stats'), but it doesn't disclose additional behavioral traits like rate limits, authentication needs, or data freshness, which could be useful context beyond the 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?
The description is a single, efficient sentence that front-loads the key action and resource without any wasted words. It's appropriately sized for a simple data retrieval tool, making it easy for an agent to parse quickly.
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 moderate complexity (4 parameters, no output schema) and rich annotations, the description is adequate but incomplete. It covers the basic purpose but lacks details on output format, error handling, or usage scenarios, which could help the agent invoke it more effectively in 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 description coverage is 100%, so the schema fully documents all parameters. The description adds minimal semantic context by implying that 'regionId' and 'typeId' are required for the core query, but it doesn't provide extra details beyond what the schema already specifies, such as how 'systemId' or 'locationId' refine the results.
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 ('Returns') and resource ('price and volume stats for an item type in a specific region'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_market_history' or 'get_market_orders', which might also return market-related data, so it doesn't reach the highest score.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where other tools might be more appropriate, such as using 'get_market_history' for historical data or 'get_market_orders' for order details, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regionsARead-only
Returns the list of all regions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe read operations with potentially incomplete data. The description adds value by specifying 'all regions' scope, which provides useful context beyond annotations. No contradiction with annotations exists.
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 with zero waste. It's appropriately sized for a simple tool with no parameters and gets straight to the point without unnecessary elaboration.
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 read-only tool with no parameters and good annotations, the description is adequate but minimal. It doesn't explain return format, data structure, or potential limitations despite no output schema. The completeness is acceptable but not comprehensive.
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?
With 0 parameters and 100% schema coverage, the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and it correctly indicates this is a simple retrieval operation without input requirements.
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's purpose with a specific verb ('Returns') and resource ('list of all regions'). It distinguishes from siblings by focusing on regions rather than market-related data. However, it doesn't explicitly differentiate from potential non-sibling region tools.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools, prerequisites, or specific contexts where retrieving regions is appropriate versus other market data tools.
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.
6 tool updates
- First observed
get_market_group_types - First observed
get_market_groups - First observed
get_market_history - First observed
get_market_orders - First observed
get_market_stats - First observed
get_regions
TDQS
Every tool has a clearly distinct purpose with no ambiguity: get_market_groups lists groups, get_market_group_types lists types within a group, get_market_history provides price history, get_market_orders shows current orders, get_market_stats gives price/volume stats, and get_regions lists regions. The descriptions make it easy to tell them apart, as each targets a specific market data aspect.
All tool names follow a consistent verb_noun pattern with 'get_' prefix and snake_case, such as get_market_groups, get_market_history, and get_regions. This predictable naming scheme enhances readability and makes the tool set easy to navigate without any deviations or mixed conventions.
With 6 tools, the server is well-scoped for its market data domain in EVE Tycoon. Each tool earns its place by covering essential functions like listing groups, types, history, orders, stats, and regions, providing a focused and manageable set without being too thin or overloaded.
The tool surface is nearly complete for market data retrieval, covering key operations such as listing groups, types, regions, and detailed market info. A minor gap exists in lacking update or manipulation tools (e.g., place_orders), but agents can work around this for read-only analysis, as the core workflows are well-covered.
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
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Unlock the power of real-time cryptocurrency data with our Crypto Price Insights MCP server.
MCP server for stocksense-ai documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseBqualityDmaintenanceこのMCPサーバーは、EVE Onlineのマーケットデータにアクセスするためのインターフェースを提供します。ESI(EVE Swagger Interface)APIを使用して、リアルタイムの市場データを取得できます。109MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates EVE Online's ESI API with AI assistants to enable natural language interaction with character data, market information, and assets. It provides 22 tools for managing skills, wallet balances, ship fittings, and more directly through AI-powered clients.2MIT
- 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-
- AlicenseNot gradedqualityDmaintenanceRemote MCP server for EVE Online that validates ship fittings with actual stats, DPS/EHP, and live market prices, enabling LLMs to answer whether a fit works and what it costs.GPL 3.0
Appeared in Searches
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/kongyo2/evetycoon-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server