Uses .env files for environment configuration including API endpoints and authentication settings
Implemented in JavaScript for the MCP server functionality
Built using Node.js runtime environment for server implementation
Uses npm package manager for dependency management and project setup
RZMX MCP Server
OAuth2-enabled Model Context Protocol (MCP) server for Rezoomex that provides seamless IDE integration with project data, user stories, personas, and project management information.
Features
OAuth2 Authentication: Seamless "connect button" experience with Windsurf and Cursor IDEs
SSE Transport: Real-time Server-Sent Events for MCP communication
JSON-RPC Support: Direct tool calls via HTTP POST endpoints
Comprehensive Tools: 26+ tools for project management, user stories, and persona analysis
IDE Integration: Native support for Windsurf and Cursor IDEs
Quick Start
Install dependencies:
npm installConfigure environment:
cp .env.oauth.example .env.oauth # Edit .env.oauth with your settingsStart the server:
node mcp-server-rezoomex-oauth.jsConfigure your IDE: Add to Windsurf MCP config:
{ "mcpServers": { "rzmx": { "url": "http://localhost:3000/v1/sse" } } }
OAuth2 Flow
The server provides OAuth2 endpoints for IDE integration:
GET /authorize
- Authorization endpoint with login formPOST /authenticate
- Credential authenticationGET /callback
- OAuth2 callback handlerPOST /token
- Token exchange endpoint
MCP Endpoints
GET /v1/sse
- SSE transport for real-time MCP communicationPOST /v1/sse
- JSON-RPC endpoint for direct tool calls
Available Tools
Core Project Tools
list_user_stories
- List user stories for project and personaget_user_story
- Get specific user story detailsget_projects
- Get all accessible projectsget_project_overview
- Comprehensive project informationget_persona_profile
- Detailed persona analysis
Advanced Tools
get_story_range
- Get multiple stories by rangeget_user_journey
- User journey mappingget_jobs_to_be_done
- JTBD analysissearch_projects
- Project search functionalityfind_project_by_name
- Project discovery by name
User Management
get_user_info
- Authenticated user profilecheck_nda_status
- NDA compliance status
And 15+ additional tools for comprehensive project management
Environment Configuration
Architecture
Development
The server supports both SSE transport and direct JSON-RPC calls, making it compatible with various MCP clients and IDEs.
Adding Tools
Add tool definition to
lib/mcp-tools.js
Implement logic in the tool's
callTool
methodTools are automatically available in both SSE and JSON-RPC endpoints
Deployment
The server can be deployed to any Node.js hosting platform. See DEPLOYMENT.md
for detailed deployment instructions.
License
Proprietary to Rezoomex. curl http://localhost:3000/auth/login-url
Step 2: Login and Extract Bearer Token
Visit the login URL in your browser
Login with your Rezoomex credentials
After successful login, extract the
access_token
from the URLThe URL will look like:
https://workspace.rezoomex.com/dashboard?access_token=YOUR_BEARER_TOKEN&...
Step 3: Authenticate with Server
Response:
API Endpoints
Health Check
Authentication
MCP Tools
Get Story Range
Get Single Story Details
Error Handling
The server provides detailed error messages for different scenarios:
Authentication Required:
AUTH_REQUIRED
- Need to authenticate firstSession Expired:
SESSION_EXPIRED
- Need to re-authenticateUnknown Tool:
UNKNOWN_TOOL
- Tool name not recognizedValidation Error:
VALIDATION_ERROR
- Invalid input parametersExecution Error:
EXECUTION_ERROR
- Error during tool execution
Logging
Logs are written to both console and file (logs/rezoomex-mcp.log
). Log levels:
error
: Critical errorswarn
: Warning messagesinfo
: General informationdebug
: Detailed debugging information
Development
Run in Development Mode
Run Tests
Configuration Options
Environment Variable | Default | Description |
|
| Server port |
|
| Environment mode |
|
| Rezoomex API base URL |
|
| Login URL |
|
| Default project ID |
|
| Default persona ID |
|
| Logging level |
|
| Log file path |
|
| Rate limit window (15 min) |
|
| Max requests per window |
|
| CORS origin setting |
Security Features
Helmet.js: Security headers
Rate Limiting: Prevents abuse
CORS: Configurable cross-origin requests
Session Timeout: Automatic session cleanup
Input Validation: Parameter validation for all tools
Error Sanitization: Safe error messages
Architecture
Troubleshooting
Common Issues
Authentication Failed
Ensure bearer token is valid and not expired
Check that you're using the correct login URL
Verify the token was extracted correctly from the URL
Session Expired
Re-authenticate using
/auth/token
endpointCheck session timeout settings
API Errors
Verify project ID and persona ID are correct
Check Rezoomex API status
Review server logs for detailed error information
Connection Issues
Ensure server is running on correct port
Check firewall settings
Verify network connectivity to Rezoomex API
Debug Mode
Set LOG_LEVEL=debug
in your .env
file for detailed logging.
License
MIT License - see LICENSE file for details.
Support
For issues and questions, please check the logs first and ensure your authentication is valid. The server provides detailed error messages to help diagnose problems.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables interaction with the Rezoomex API for project management and user story analysis. Provides real-time access to user stories, personas, project overviews, and user journeys with SSE support and secure bearer token authentication.