dspot-erp-mcp-server
v1.0.15
Published
MCP server for DSpot ERP (Ever/Gauzy API)
Downloads
2,003
Readme
DSpot ERP - MCP Server
Model Context Protocol (MCP) server built with TypeScript and the official @modelcontextprotocol/sdk. Exposes tools and resources over stdio for use with Cursor, Claude Desktop, or other MCP clients.
Requirements
- Node.js >= 20
Installation
npm installRunning
Development (with tsx):
npm run devProduction (compiled):
npm run build
npm startThe server communicates via stdin/stdout (stdio). An MCP client (e.g. Cursor) spawns this process and communicates with it via JSON-RPC.
Cursor Configuration
In Cursor's MCP settings (e.g. .cursor/mcp.json or MCP preferences), add:
{
"mcpServers": {
"dspot-erp": {
"command": "npx",
"args": [
"dspot-erp-mcp-server"
],
"env": {
"API_BASE_URL": "base-url:port",
"AUTH_TOKEN": "bearer-token",
"TENANT_ID": "tenant-id",
"ORGANIZATION_ID": "organization-id"
}
}
}
}Or using the compiled binary:
{
"mcpServers": {
"dspot-erp": {
"command": "node",
"args": [
"/full/path/to/dspot-erp-mcp-server/dist/index.js"
],
"env": {
"API_BASE_URL": "base-url:port",
"AUTH_TOKEN": "bearer-token",
"TENANT_ID": "tenant-id",
"ORGANIZATION_ID": "organization-id"
}
}
}
}Environment Variables (ERP API)
| Variable | Description | Default |
|----------|-------------|---------|
| API_BASE_URL | ERP base URL (without /api) | required |
| AUTH_TOKEN | Bearer token for the API | required |
| ORGANIZATION_ID | Default organization UUID | — |
| TENANT_ID | Default tenant UUID | — |
Example in Cursor (MCP server config):
"env": {
"API_BASE_URL": "https://your-erp-host.com:3000",
"AUTH_TOKEN": "your-jwt-token",
"ORGANIZATION_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"TENANT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}What This Server Provides
- Tool
get_organization_projects: Lists organization projects (GET /api/organization-projects). RequiresorganizationIdandtenantId(UUIDs). - Tool
get_organization_teams: Lists organization teams (GET /api/organization-team/pagination). Optional:organizationId,tenantId,skip(default: 0),take(default: 10, max: 100). Includes members (role, employee.user), tags, projects. - Tool
create_organization_team: Creates a team (POST /api/organization-team). Required:name. Optional:memberIds,managerIds(arrays of employee UUIDs),tagIds(array of tag UUIDs),imageId,organizationId,tenantId. - Tool
update_organization_team: Updates a team (PUT /api/organization-team/{teamId}). Required:teamId. Optional:name,memberIds,managerIds,tagIds,imageId,organizationId,tenantId. - Tool
delete_organization_team: Deletes a team (DELETE /api/organization-team/{teamId}). Required:teamId. Optional:organizationId,tenantId. - Tool
get_tags: Lists organization tags (GET /api/tags). Optional:organizationId,tenantId. Includes tagType relation. - Tool
create_tag: Creates a tag (POST /api/tags). Required:name. Optional:description,color,organizationId,tenantId,tagTypeId. - Tool
update_tag: Updates a tag (PUT /api/tags/{tagId}). Required:tagId. Optional:name,description,color,organizationId,tenantId,tagTypeId. - Tool
delete_tag: Deletes a tag (DELETE /api/tags/{tagId}). Required:tagId. Optional:organizationId,tenantId. - Tool
get_tasks: Lists tasks/cards (GET /api/tasks/pagination). Optional args:organizationId,tenantId,projectId,title,skip(default: 0),take(default: 10, max: 100). - Tool
update_task: Updates a task/card (PUT /api/tasks/{taskId}). Required:taskId. Optional:organizationId,tenantId,title,description,status,taskStatusId,projectId. - Tool
create_task: Creates a task/card (POST /api/tasks). Required:title,projectId. Optional:organizationId,tenantId,description,status,taskStatusId,parentId,dueDate,memberIds(array of assignee UUIDs). - Tool
delete_task: Deletes a task/card (DELETE /api/tasks/{taskId}). Required:taskId. Optional:organizationId,tenantId. - Tool
get_employees: Lists organization employees (GET /api/employee/pagination). Optional args:organizationId,tenantId,skip(default: 0),take(default: 10, max: 100). Includes relations: user, tags, organizationEmploymentTypes. - Tool
get_employee_working: Working/timesheets in a date range. WithoutemployeeIds/projectIds: employee list with working context (GET /api/employee/working). WithemployeeIdsand/orprojectIds: time-log entries filtered by employee and/or project (GET /api/timesheet/time-log/chunk). Args:startDate,endDate, optionalorganizationId,tenantId,employeeIds,projectIds(arrays of UUIDs),withUser,timeZone,activityLevelStart/activityLevelEnd. - Tool
get_timesheet_statistics: Timesheet statistics/counts (GET /api/timesheet/statistics/counts). Required:startDate,endDate. Optional:timeZone(e.g. Europe/Minsk),todayStart/todayEnd,employeeIds,organizationId,tenantId. Durations (weekDuration, todayDuration) are in seconds. - Resource
info://server: Server information in JSON (read-only).
