Quick Start
日本語 | English
This guide explains the quickest way to start and test the MCP server.
1. Start Server (1 minute)¶
Wait for startup:
Once you see Default admin user created, the server is ready.
2. Login to Admin Interface (1 minute)¶
- Open https://localhost/ in your browser (no port number; you'll see a self-signed certificate warning — choose "Advanced" → "Proceed" to continue. Caddy reverse-proxies the request, so port 5000 itself is not published to the host)
-
Login:
-
ID:
admin - Password:
admin
3. Create Test Service (2 minutes)¶
3.1 Register Service¶
- Dashboard → "Service Management"
- Click "New Service Registration"
- Enter:
- Service Name: Weather Service
- Subdomain: weather
- Description: Test weather service
- Click "Register"
3.2 Register Capability¶
- Click the created service
- Click "Capabilities Management"
- Click "New Capability Registration"
- Enter:
- Capability Name: echo_test
- Connection Type: API
- Connection URL: https://httpbin.org/post
- Description: Simple echo test
- Body Parameters:
- Click "Register"
3.3 Grant Permission to Administrator¶
- Dashboard → "Account Management"
- Click "Administrator"
- The capability permissions are automatically assigned to accounts
- Verify the capability appears in the account's capability list
3.4 Get Bearer Token¶
On the same account details screen, copy the Bearer Token.
4. Test MCP Endpoint (1 minute)¶
4.1 Get Capabilities¶
# Replace TOKEN with your actual token
TOKEN="YOUR_BEARER_TOKEN_HERE"
curl -k -H "Authorization: Bearer $TOKEN" \
https://weather.lvh.me/mcp
Expected Output:
{
"capabilities": {
"tools": [
{
"name": "echo_test",
"description": "Simple echo test",
"inputSchema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Parameter: message",
"default": "Hello"
}
}
}
}
]
},
"serverInfo": {
"name": "Weather Service",
"version": "1.0.0"
}
}
4.2 Execute Tool¶
curl -k -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"arguments": {"message": "Test from MCP"}}' \
https://weather.lvh.me/tools/echo_test
Expected Output:
{
"content": [
{
"type": "text",
"text": "{\"success\": true, \"status_code\": 200, \"data\": {...}}"
}
],
"isError": false
}
Done! 🎉¶
You can now:
✅ Start the MCP server
✅ Manage services, capabilities, and permissions via Web admin
✅ Access subdomain-based MCP endpoints
✅ Execute tools and verify responses
Next Steps¶
Integrate Real APIs¶
- Create new Capabilities in the Web admin
- Set real API URLs (OpenWeather, GitHub, etc.)
- Configure API Keys in header parameters
- Grant permissions to accounts
- Use from MCP clients (Dify, Claude Desktop)
Manage Multiple Services¶
- Create services for each API
- Separate by subdomain (weather, github, database, etc.)
- Set different permissions per account
Relay MCP Servers¶
- Register other MCP servers as Capabilities
- Set type to "MCP"
- Consolidate multiple MCP servers into one
Troubleshooting¶
lvh.me not working¶
Use this instead:
Certificate warning on https://localhost/¶
This is expected: Caddy issues a self-signed certificate automatically. Click through the browser warning, or see Scaling & Containers to trust Caddy's local CA instead.
Running directly with python run.py (no Docker)¶
Use plain http and port 5000 instead: http://localhost:5000/,
http://weather.lvh.me:5000/mcp.
Permission Errors¶
- Check permissions are correctly set in account details
- Verify capability name is correct
- Confirm subdomain is correct
Database Errors¶
# Restart containers
docker compose restart
# Or fully rebuild
docker compose down
docker compose up -d --build
Additional Documentation¶
- Detailed Setup: SETUP.en.md
- MCP Endpoint Details: MCP_ENDPOINTS.en.md
- Project Overview: README.en.md