kongyo2

EVE Online ESI MCP Server

Community kongyo2
Updated

EVE Online ESI MCP Server

smithery badgeThis is an MCP (Model Context Protocol) server for the EVE Online ESI API that supports both local (stdio) and remote (OAuth-enabled) connections.

Features

  • Remote MCP Support: Compatible with geelen/mcp-remote specification
  • OAuth 2.0 Authentication: Secure authentication with PKCE support
  • Multiple Transport Options: SSE (Server-Sent Events) and HTTP
  • Dynamic Client Registration: Automatic OAuth client registration
  • Full ESI API Coverage: Access to all EVE Online ESI endpoints

Installation

Installing via Smithery

To install EVE Online ESI Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kongyo2/eveonlineesi-mcp --client claude

Manual Installation

npm install

Configuration

Create a .env file with the following variables:

# EVE Online ESI API Key (for ESI authentication)
EVE_ONLINE_APIS_API_KEY=your_eve_api_key

# OAuth Configuration (optional - will use defaults if not provided)
OAUTH_CLIENT_ID=eve-online-esi-mcp
OAUTH_CLIENT_SECRET=your_oauth_secret
JWT_SECRET=your_jwt_secret

# Server Port (default: 3001)
PORT=3001

Running the Server

Local Mode (stdio)

For direct local connections:

npm start

Remote Mode (SSE/HTTP)

For remote connections with OAuth:

npm run start:sse

Using with geelen/mcp-remote

To connect to this server using geelen/mcp-remote, configure your MCP client (e.g., Claude Desktop, Cursor) with:

{
  "mcpServers": {
    "eve-online-esi": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:3001/sse"
      ]
    }
  }
}

Or if deploying to a remote server:

{
  "mcpServers": {
    "eve-online-esi": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-server.com/sse"
      ]
    }
  }
}

Available Tools

The server provides access to all EVE Online ESI endpoints, including:

  • Alliance: Get alliance information and corporations
  • Character: Access character data (location, mail, wallet, etc.)
  • Corporation: Corporation details and history
  • Market: Market prices, orders, and groups
  • Universe: Regions, systems, structures
  • Killmails: Kill reports
  • And many more...

OAuth Flow

  1. When connecting via mcp-remote, you'll be redirected to authorize
  2. Approve access to grant permissions
  3. The server will issue an access token
  4. All subsequent requests will use this token

Transport Strategies

When using mcp-remote, you can specify transport strategies:

# SSE only
npx mcp-remote http://localhost:3001/sse --transport sse-only

# HTTP only
npx mcp-remote http://localhost:3001/mcp --transport http-only

# Try SSE first, fallback to HTTP
npx mcp-remote http://localhost:3001/sse --transport sse-first

Endpoints

  • SSE: GET /sse - Server-Sent Events transport
  • HTTP: POST /mcp - HTTP transport
  • OAuth:
    • POST /oauth/register - Dynamic client registration
    • GET /oauth/authorize - Authorization endpoint
    • POST /oauth/token - Token endpoint
  • Health: GET /health - Health check

Development

To list all available tools:

npm run list-tools

Security

  • OAuth tokens expire after 1 hour
  • PKCE is supported for enhanced security
  • All API requests require valid authentication
  • Client secrets are stored securely

License

MIT

MCP Server ยท Populars

MCP Server ยท New