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., "@Screeps World MCP Serviceshow me the current market orders for energy"
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.
Screeps World MCP Service
Integrates live Screeps server data directly into AI development workflows.
Features
Comprehensive API Coverage: Room operations, user data, market information, map analytics, and utilities
AI-Optimized: Enhanced responses with loop detection, caching, and completion indicators
Rate Limit Aware: Monitoring and guidance to prevent API limit issues
TypeScript: Full type safety with zod schema validation
MCP Protocol: Compatible with MCP-enabled clients
Setup
Install dependencies:
npm installConfigure your Screeps credentials:
cp .env.example .env
# Edit .env with your Screeps configBuild the project:
npm run buildStart the service:
npm startConfiguration
The service can be configured via environment variables or constructor parameters:
SCREEPS_BASE_URL: API base URL (defaults to official server)SCREEPS_TOKEN: Your Screeps authentication tokenSCREEPS_USERNAME: Your Screeps username (optional)
Getting Your Screeps Token
Go to Screeps Account Settings
Create a new auth token
Add it to your
.envfile
Development
Run TypeScript in watch mode:
npm run devFormat code with Prettier:
npm run formatUsage Examples
After completing the setup, add to your mcp.json:
{
"mcpServers": {
"screeps-world": {
"command": "node",
"args": ["/path/to/screeps-world-mcp/dist/index.js"],
"env": {
"SCREEPS_TOKEN": "${env:SCREEPS_TOKEN}"
}
}
}
}AI Usage Guidelines
Follow Response Guidance: Each response includes completion indicators and suggested next steps
Avoid Redundant Calls: The server detects and warns against repetitive identical calls
Start with Resources: Get foundational data (version, shards) before using tools for specific queries
Respect Rate Limits: Monitor remaining API calls shown in responses
Available Resources
Resources provide static or server-wide data:
auth_me: Current authenticated user information
game_time: Current game time and tick information
world_size: World dimensions and size information
shards_info: Information about available shards
user_world_status: Current user world status and statistics
market_stats: Market statistics and trading information
version: API version and server information
Available Tools
Tools allow interactive queries with parameters:
Room Information
get_room_terrain: Get terrain information for a specific room
get_room_objects: Get objects and users in a specific room
get_room_overview: Get room overview and statistics
get_room_status: Get room status information
Market Information
get_market_orders_index: Get market orders index
get_my_market_orders: Get user's market orders
get_market_orders: Get market orders for a specific resource
get_money_history: Get user money transaction history
User Data
get_user_name: Get user name
get_user_stats: Get user statistics with optional interval
get_user_rooms: Get user rooms by user ID
find_user: Find user by ID or username
get_user_overview: Get user overview statistics with interval and stat filtering
get_user_memory: Get user memory data
execute_console_command: Execute console command in Screeps
Map & Analytics
get_map_stats: Get map statistics for specified rooms
Experimental Features
get_pvp_info: Get PvP information
get_nukes_info: Get active nukes information by shard
Utilities
calculate_distance: Calculate distance between two rooms
auth_signin: Sign in to Screeps to get authentication token
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.