Skip to main content
Glama
kongyo2

EVE Tycoon MCP Server

by kongyo2

EVE Tycoon MCP Server

Ask DeepWiki

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 claude

Manual Installation

  1. Clone this repository

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Usage

Development

Run the server in development mode:

npm run dev

Production

Build and start the server:

npm run build
npm start

Testing

Run tests:

npm test

API 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 tools
get_market_groupsB
Read-only

Returns the list of all market groups

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_typesB
Read-only

Returns the list of types in a market group

ParametersJSON Schema
NameRequiredDescriptionDefault
groupIdYesMarket group ID

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_historyB
Read-only

Returns the price history of an item in a particular region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionIdYesRegion ID
typeIdYesItem type ID

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_ordersB
Read-only

Returns the current order book for an item type, with metadata about the type and locations

ParametersJSON Schema
NameRequiredDescriptionDefault
typeIdYesItem type ID
regionIdNoRegion ID to filter on
systemIdNoSystem ID to filter on
locationIdNoLocation ID (station, structure) to filter on

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_statsB
Read-only

Returns price and volume stats for an item type in a specific region

ParametersJSON Schema
NameRequiredDescriptionDefault
regionIdYesRegion ID
typeIdYesItem type ID
systemIdNoSystem ID to filter on
locationIdNoLocation ID (station, structure) to filter on

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_regionsA
Read-only

Returns the list of all regions

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 6 tool updates
    • First observedget_market_group_types
    • First observedget_market_groups
    • First observedget_market_history
    • First observedget_market_orders
    • First observedget_market_stats
    • First observedget_regions

TDQS

A3.7/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    このMCPサーバーは、EVE Onlineのマーケットデータにアクセスするためのインターフェースを提供します。ESI(EVE Swagger Interface)APIを使用して、リアルタイムの市場データを取得できます。
    10
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    2
    MIT
  • F
    license
    A
    quality
    Not graded
    maintenance
    An 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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Remote 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

Latest Blog Posts

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