gw2-mcp
A Model Context Provider (MCP) server for Guild Wars 2 that bridges Large Language Models (LLMs) with Guild Wars 2 data sources.
Documentation
GW2 MCP Server
A Model Context Provider (MCP) server for Guild Wars 2 that bridges Large Language Models (LLMs) with Guild Wars 2 data sources.
Features
- Wiki Search: Search and retrieve content from the Guild Wars 2 wiki
- Wallet Information: Access user wallet and currency data via GW2 API
- Smart Caching: Efficient caching with appropriate TTL for static and dynamic data
- Rate Limiting: Respectful API usage with built-in rate limiting
- Extensible Architecture: Modular design for easy feature additions
Requirements
- Go 1.24 or higher
- Guild Wars 2 API key (for wallet functionality)
Installation
1. Clone the repository:
git clone https://github.com/AlyxPink/gw2-mcp.git
cd gw2-mcp2. Install dependencies:
go mod tidy3. Build the server:
go build -o gw2-mcp ./cmd/serverUsage
Running the Server
The MCP server communicates via stdio (standard input/output):
./gw2-mcpYou can configure Claude Desktop, LM Studio, or other LLM tools to interact with the server using this configuration:
{
"mcpServers": {
"gw2-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"alyxpink/gw2-mcp:v1"
]
}
}
}MCP Tools
The server provides the following tools for LLM interaction:
1. Wiki Search (`wiki_search`)
Search the Guild Wars 2 wiki for information.
Parameters:
- `query` (required): Search query string
- `limit` (optional): Maximum number of results (default: 5)
Example:
{
"tool": "wiki_search",
"arguments": {
"query": "Dragon Bash",
"limit": 3
}
}2. Get Wallet (`get_wallet`)
Retrieve user's wallet information including all currencies.
Parameters:
- `api_key` (required): Guild Wars 2 API key with account scope
Example:
{
"tool": "get_wallet",
"arguments": {
"api_key": "YOUR_GW2_API_KEY"
}
}3. Get Currencies (`get_currencies`)
Get information about Guild Wars 2 currencies.
Parameters:
- `ids` (optional): Array of specific currency IDs to fetch
Example:
{
"tool": "get_currencies",
"arguments": {
"ids": [1, 2, 3]
}
}MCP Resources
The server provides the following resources:
Currency List (`gw2://currencies`)
Complete list of all Guild Wars 2 currencies with metadata.
API Key Setup
To use wallet functionality, you need a Guild Wars 2 API key:
1. Visit Guild Wars 2 API Key Management
2. Create a new API key with the following permissions:
3. Copy the generated API key
Security Note: API keys are hashed before caching for security. Never share your API key.
Caching Strategy
The server implements intelligent caching:
- Static Data (currencies, wiki content): Cached for 24 hours to 1 year
- Dynamic Data (wallet balances): Cached for 5 minutes
- Search Results: Cached for 24 hours
Architecture
The project follows Clean Architecture principles:
internal/
├── server/ # MCP server implementation
├── cache/ # Caching layer
├── gw2api/ # GW2 API client
└── wiki/ # Wiki API clientDevelopment
Code Standards
- Format code with `gofumpt`
- Lint with `golangci-lint`
- Write unit tests for core functionality
- Follow conventional commit messages
Running Tests
go test ./...Linting
golangci-lint runFormatting
gofumpt -w .Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Run linting and formatting
6. Submit a pull request
License
GNU Affero General Public License v3.0 - see LICENSE file for details.
Acknowledgments
- Guild Wars 2 API for providing comprehensive game data
- Guild Wars 2 Wiki for extensive game documentation
- MCP Go for the MCP implementation framework
Frequently asked questions
What is gw2-mcp?
gw2-mcp is A Model Context Provider (MCP) server for Guild Wars 2 that bridges Large Language Models (LLMs) with Guild Wars 2 data sources.
How do I install gw2-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is gw2-mcp open source?
Yes — it is hosted on GitHub at https://github.com/AlyxPink/gw2-mcp and has 6 stars.
Related MCP tools
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
One place to manage & connect to all your MCP servers
eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.
Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.
A command-line interface for interacting with MCP (Model Context Protocol) servers using both stdio and HTTP transport. Go-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP