MWID MCP Server
Model Context Protocol (MCP) server for the MetaWealth Asset Launch Dashboard. It enables AI assistants like ChatGPT and Claude to interact with the MWID Dashboard API for asset management, task tracking, and team collaboration.
README
MWID MCP Server
Model Context Protocol (MCP) server for the MetaWealth Asset Launch Dashboard. This server enables AI assistants like ChatGPT and Claude to interact with the MWID Dashboard API for asset management, task tracking, and team collaboration.
Features
- š§ Comprehensive Tool Suite: 40+ tools for assets, tasks, users, departments, and teams
- š Multiple Auth Methods: JWT, Supabase, and Google OAuth support
- š Real-time Data: Access to live dashboard data via REST API
- š SSE Transport: Server-Sent Events for reliable AI assistant connections
- š Production Ready: Dockerized and optimized for cloud deployment
Deploy to Railway
Step-by-Step Deployment
-
Push to GitHub:
git add . git commit -m "Add Railway configuration" git push origin main -
Create New Project on Railway:
- Go to railway.app
- Click "New Project"
- Select "Deploy from GitHub repo"
- Choose your repository:
mwid-mcp-server
-
Configure Environment Variables:
In Railway Dashboard ā Variables, add these required variables:
MWID_API_URL=https://your-backend-api.com/api/v1 MWID_AUTH_METHOD=jwt MWID_JWT_TOKEN=your-jwt-token-hereOptional variables:
MWID_REQUEST_TIMEOUT=30 MWID_DEBUG=false -
Railway Auto-Detection:
Railway will automatically detect:
- ā
Dockerfilefor containerized deployment - ā
railway.jsonfor build/deploy configuration - ā
Procfilefor process management - ā
Port configuration (Railway sets
PORTautomatically)
- ā
-
Deploy:
Railway will automatically build and deploy. Monitor the deployment in the Railway dashboard logs.
-
Get Your MCP Server URL:
Railway provides a public URL like:
https://mwid-mcp-server-production-xxxx.up.railway.appYou can also set a custom domain in Railway settings.
-
Configure Your AI Assistant:
- ChatGPT: Add MCP server at
https://your-railway-url.railway.app/sse - Claude Desktop: Add to
claude_desktop_config.json(see configuration below)
- ChatGPT: Add MCP server at
Manual Deployment
Prerequisites
- Python 3.13+
- pip
- Docker (optional)
Local Development
# Clone the repository
git clone https://github.com/MetaWealth/mwid-mcp-server.git
cd mwid-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create .env file
cat > .env << EOF
MWID_API_URL=http://localhost:8080/api/v1
MWID_AUTH_METHOD=jwt
MWID_JWT_TOKEN=your-token-here
EOF
# Run the server
python serve.py
Server will start on http://localhost:8000
Docker Deployment
# Build image
docker build -t mwid-mcp-server .
# Run container
docker run -p 8000:8000 \
-e MWID_API_URL=https://your-api.com/api/v1 \
-e MWID_AUTH_METHOD=jwt \
-e MWID_JWT_TOKEN=your-token \
mwid-mcp-server
Configuration
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
MWID_API_URL |
Yes | http://localhost:8080/api/v1 |
Backend API endpoint |
MWID_AUTH_METHOD |
Yes | jwt |
Authentication method: jwt, supabase, or google |
MWID_JWT_TOKEN |
For JWT | - | JWT authentication token |
MWID_SUPABASE_URL |
For Supabase | - | Supabase project URL |
MWID_SUPABASE_KEY |
For Supabase | - | Supabase anon key |
MWID_GOOGLE_ACCESS_TOKEN |
For Google | - | Google OAuth access token |
PORT |
No | 8000 |
Server port (Railway sets automatically) |
ChatGPT Configuration
Add the MCP server in ChatGPT settings:
Server URL: https://your-app.railway.app/sse
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mwid-dashboard": {
"url": "https://your-app.railway.app/sse"
}
}
}
Available Tools
The server provides 40+ tools organized into these categories:
ā Working Features (External API - No JWT Required)
These tools work immediately with just the MWID_EXTERNAL_API_KEY:
Sales & Investor Data
list_manual_sales- List sales records with filtering/pagination (3,692+ records)- Filters:
userId,assetId,adjustmentType - Pagination:
page,pageSize(max 500)
- Filters:
get_manual_sale- Get specific sale details by IDlist_manual_investors- List investor records with filtering/pagination (1,064+ records)- Filters:
email,userId,country - Pagination:
page,pageSize(max 500)
- Filters:
get_manual_investor- Get specific investor details by ID
ā ļø Future Features (Internal API - Requires JWT Token)
These tools require MWID_JWT_TOKEN to be configured. They will return 403 errors until JWT authentication is set up.
Asset Management
get_current_user- Get authenticated user infolist_assets- List all assetsget_asset- Get asset detailscreate_asset- Create new assetupdate_asset- Update assetdelete_asset- Delete asset (admin only)get_asset_phases- Get asset phasesget_asset_tasks- Get tasks for assetcalculate_minimum_time- Calculate task completion time
Task Management
get_task- Get task detailsupdate_task- Update taskassign_task- Assign task to userunassign_task- Remove task assignmentget_assigned_tasks- Get user's assigned tasksget_unassigned_tasks- Get unassigned tasksget_my_department_tasks- Get department tasksget_task_comments- Get task commentscreate_task_comment- Add comment to taskget_task_progress- Get task progressupdate_task_progress- Update task progress
Phase Management
update_phase- Update phase detailsget_phase_tasks- Get tasks for a phase
User & Department Management
list_users- List all users (admin only)get_user- Get user detailsget_users_for_assignment- Get assignable usersget_my_team- Get team membersget_department_members- Get department memberslist_departments- List departmentsget_department- Get department detailsget_department_stats- Get department statistics
Notifications
get_notifications- Get user notificationsget_unread_notification_count- Get unread countmark_notification_read- Mark notification as readmark_all_notifications_read- Mark all as read
Workflow Templates
list_workflow_templates- List available templatesget_workflow_template- Get template detailsapply_workflow_template- Apply template to asset
Legacy Internal API
list_investor_records- List internal investor recordsget_investor_record- Get internal investor record details
Architecture
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāā
ā ChatGPT/ ā SSE ā MCP Server ā HTTP ā MWID ā
ā Claude āāāāāāāāāā⤠(Railway) āāāāāāāāāāŗā Backend ā
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāā
/sse endpoint REST API
/messages endpoint (8080)
Troubleshooting
Connection Timeout
Issue: ChatGPT times out connecting to the server
Solution:
- Ensure Railway deployment is running (check Railway dashboard)
- Verify environment variables are set correctly
- Check Railway logs for errors:
railway logs
403 Forbidden
Issue: Getting 403 errors
Solution:
- Check
MWID_JWT_TOKENis valid and not expired - Verify backend API is accessible from Railway
- Ensure backend CORS settings allow Railway domain
Empty Responses
Issue: Tools return empty data
Solution:
- Verify
MWID_API_URLpoints to correct backend - Check JWT token has necessary permissions
- Test backend API directly with curl/Postman
Development
Running Tests
python test_server.py
Debug Logging
Enable debug logging:
export MWID_DEBUG=true
python serve.py
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
MIT License - see LICENSE file for details
Support
For issues or questions:
- GitHub Issues: https://github.com/MetaWealth/mwid-mcp-server/issues
- Documentation: https://your-docs-site.com
- Email: support@metawealth.co
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.