mushcode-mcp-server
Version:
A specialized Model Context Protocol server for MUSHCODE development assistance. Provides AI-powered code generation, validation, optimization, and examples for MUD development.
355 lines (291 loc) • 7.24 kB
Markdown
# MCP Client Configurations
This document provides example configurations for integrating the MUSHCODE MCP Server with popular IDEs and development environments.
## Visual Studio Code
### Using Claude Dev Extension
1. Install the Claude Dev extension
2. Add the MUSHCODE MCP server to your MCP configuration:
**File: `.vscode/mcp.json`**
```json
{
"mcpServers": {
"mushcode-mcp-server": {
"command": "npx",
"args": ["mushcode-mcp-server"],
"env": {
"MUSHCODE_LOG_LEVEL": "info",
"MUSHCODE_DATA_PATH": "./data/knowledge"
},
"disabled": false,
"autoApprove": [
"generate_mushcode",
"validate_mushcode",
"format_mushcode"
]
}
}
}
```
### Using Continue Extension
**File: `.continue/config.json`**
```json
{
"models": [
{
"title": "Claude with MUSHCODE",
"provider": "anthropic",
"model": "claude-3-sonnet-20240229",
"apiKey": "your-api-key"
}
],
"mcpServers": [
{
"name": "mushcode-mcp-server",
"command": "npx",
"args": ["mushcode-mcp-server"],
"env": {
"MUSHCODE_LOG_LEVEL": "info"
}
}
]
}
```
## Cursor IDE
**File: `.cursor/mcp.json`**
```json
{
"servers": {
"mushcode": {
"command": "mushcode-mcp-server",
"args": [],
"env": {
"MUSHCODE_LOG_LEVEL": "info",
"MUSHCODE_DEFAULT_SERVER_TYPE": "PennMUSH"
},
"timeout": 10000,
"autoRestart": true
}
},
"tools": {
"autoApprove": [
"generate_mushcode",
"validate_mushcode",
"explain_mushcode"
],
"requireConfirmation": [
"optimize_mushcode"
]
}
}
```
## Zed Editor
**File: `~/.config/zed/mcp.json`**
```json
{
"servers": [
{
"name": "mushcode-mcp-server",
"command": ["node", "/path/to/mushcode-mcp-server/dist/server/index.js"],
"env": {
"MUSHCODE_LOG_LEVEL": "warn",
"MUSHCODE_CACHE_ENABLED": "true"
},
"workingDirectory": "/path/to/mushcode-mcp-server"
}
]
}
```
## Neovim with MCP Plugin
**File: `~/.config/nvim/lua/mcp-config.lua`**
```lua
require('mcp').setup({
servers = {
mushcode = {
command = 'mushcode-mcp-server',
args = {},
env = {
MUSHCODE_LOG_LEVEL = 'info',
MUSHCODE_DEFAULT_SERVER_TYPE = 'PennMUSH'
},
filetypes = { 'mushcode', 'mush', 'softcode' },
root_patterns = { '.mushcode', 'mush.config' }
}
},
tools = {
auto_approve = {
'generate_mushcode',
'validate_mushcode',
'format_mushcode'
}
}
})
```
## Emacs with MCP Mode
**File: `~/.emacs.d/init.el`**
```elisp
(use-package mcp-mode
:config
(setq mcp-servers
'((mushcode-mcp-server
:command "mushcode-mcp-server"
:args ()
:env (("MUSHCODE_LOG_LEVEL" . "info")
("MUSHCODE_DEFAULT_SERVER_TYPE" . "TinyMUSH"))
:auto-approve ("generate_mushcode" "validate_mushcode")))))
(add-hook 'mushcode-mode-hook 'mcp-mode)
```
## JetBrains IDEs (IntelliJ, WebStorm, etc.)
**File: `.idea/mcp.xml`**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MCPConfiguration">
<servers>
<server name="mushcode-mcp-server">
<command>mushcode-mcp-server</command>
<args></args>
<env>
<entry key="MUSHCODE_LOG_LEVEL" value="info" />
<entry key="MUSHCODE_DEFAULT_SERVER_TYPE" value="PennMUSH" />
</env>
<autoApprove>
<tool>generate_mushcode</tool>
<tool>validate_mushcode</tool>
<tool>format_mushcode</tool>
</autoApprove>
</server>
</servers>
</component>
</project>
```
## Sublime Text with MCP Package
**File: `Packages/User/MCP.sublime-settings`**
```json
{
"servers": [
{
"name": "mushcode-mcp-server",
"command": ["mushcode-mcp-server"],
"env": {
"MUSHCODE_LOG_LEVEL": "info",
"MUSHCODE_DATA_PATH": "${project_path}/data/knowledge"
},
"selector": "source.mushcode",
"auto_approve": [
"generate_mushcode",
"validate_mushcode",
"format_mushcode"
]
}
]
}
```
## Command Line Usage
### Direct Usage
```bash
# Start the server
mushcode-mcp-server
# With custom configuration
MUSHCODE_CONFIG_PATH=./custom-config.json mushcode-mcp-server
# With environment overrides
MUSHCODE_LOG_LEVEL=debug MUSHCODE_DEFAULT_SERVER_TYPE=TinyMUSH mushcode-mcp-server
```
### Using with MCP CLI Tools
```bash
# Install MCP CLI
npm install -g @modelcontextprotocol/cli
# Test server connection
mcp-cli connect mushcode-mcp-server
# List available tools
mcp-cli list-tools mushcode-mcp-server
# Call a tool
mcp-cli call-tool mushcode-mcp-server generate_mushcode '{"description": "A simple hello command", "serverType": "PennMUSH"}'
```
## Configuration Options
### Common Environment Variables
```bash
# Server behavior
export MUSHCODE_LOG_LEVEL=info
export MUSHCODE_RESPONSE_TIMEOUT=5000
export MUSHCODE_MAX_CONCURRENT=10
# Knowledge base
export MUSHCODE_DATA_PATH=./data/knowledge
export MUSHCODE_CACHE_ENABLED=true
# Default settings
export MUSHCODE_DEFAULT_SERVER_TYPE=PennMUSH
```
### Auto-Approval Settings
Tools that are typically safe to auto-approve:
- `generate_mushcode`: Code generation
- `validate_mushcode`: Syntax validation
- `format_mushcode`: Code formatting
- `explain_mushcode`: Code explanation
- `get_examples`: Retrieve examples
Tools that may require confirmation:
- `optimize_mushcode`: Code optimization (modifies logic)
- `compress_mushcode`: Code compression (reduces readability)
### File Type Associations
Associate the MCP server with MUSHCODE file types:
```json
{
"fileAssociations": {
"*.mush": "mushcode",
"*.mushcode": "mushcode",
"*.softcode": "mushcode",
"*.mu": "mushcode"
}
}
```
## Troubleshooting Client Configurations
### Server Not Starting
1. Check if the server is installed:
```bash
which mushcode-mcp-server
```
2. Test server manually:
```bash
mushcode-mcp-server --help
```
3. Check configuration syntax:
```bash
npm run validate-config
```
### Connection Issues
1. Verify server is running:
```bash
ps aux | grep mushcode-mcp-server
```
2. Check logs for errors:
```bash
tail -f ~/.local/share/mushcode-mcp/logs/server.log
```
3. Test with minimal configuration:
```json
{
"mcpServers": {
"mushcode": {
"command": "mushcode-mcp-server",
"args": []
}
}
}
```
### Performance Issues
1. Enable caching:
```bash
export MUSHCODE_CACHE_ENABLED=true
```
2. Increase timeout:
```bash
export MUSHCODE_RESPONSE_TIMEOUT=10000
```
3. Reduce concurrent requests:
```bash
export MUSHCODE_MAX_CONCURRENT=5
```
## Best Practices
1. **Use auto-approval judiciously**: Only auto-approve tools you trust completely
2. **Set appropriate timeouts**: Balance responsiveness with reliability
3. **Monitor resource usage**: Watch memory and CPU usage in development
4. **Keep configurations in version control**: Share team configurations
5. **Use environment-specific settings**: Different configs for dev/prod
6. **Test configurations**: Validate before deploying to team