sdp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SDP_EMAIL | No | Technician email; sent as the USER header in OAuth mode. | |
| SDP_API_KEY | No | Technician API key. When set, requests send the TECHNICIAN_KEY header. | |
| SDP_BASE_URL | Yes | Base URL of the SDP instance, e.g. https://assist.example.com. Defaults to https://assist.webwerks.in. | |
| SDP_OAUTH_TOKEN | No | OAuth/Delegated token. When set, requests send Authorization: Bearer <token>. | |
| NODE_EXTRA_CA_CERTS | No | Path to a CA bundle (proxy-ca.pem) when SDP sits behind a proxy with a private CA. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sdp_callB | Call any SDP v3 endpoint. Write bodies are form-encoded as input_data; string bodies are sent verbatim. |
| list_requestsC | List requests. |
| get_requestD | Get a request. |
| create_requestD | Create a request. |
| update_requestD | Update a request. |
| delete_requestA | Trash a request, or permanently delete it with force. |
| restore_requestC | Restore a request from trash. |
| close_requestD | Close with closure_info. |
| assign_requestB | Assign through the normal request update route. The group must belong to the target technician; do not copy the request's current group when changing L1/L2 ownership. |
| save_request_draftB | Save an unsent public reply draft. It never sends the message. |
| pickup_requestC | Assign to the authenticated technician. |
| get_request_summaryD | Get request counts. |
| get_request_resolutionD | Get a resolution. |
| add_request_resolutionC | Add or update a resolution. |
| list_request_notesD | List request notes. |
| get_request_noteD | Get a request note. |
| add_request_noteD | Add a request note. |
| update_request_noteD | Update a request note. |
| delete_request_noteC | Delete a request note. |
| list_request_tasksD | List request tasks. |
| get_request_taskD | Get a request task. |
| add_request_taskD | Add a request task. |
| update_request_taskD | Update a request task. |
| delete_request_taskD | Delete a request task. |
| list_changesD | List changes. |
| get_changeD | Get a change. |
| create_changeD | Create a change. |
| update_changeD | Update a change. |
| delete_changeC | Delete a change. |
| list_projectsD | List projects. |
| get_projectD | Get a project. |
| create_projectD | Create a project. |
| update_projectD | Update a project. |
| delete_projectC | Delete a project. |
| list_tasksD | List tasks. |
| get_taskD | Get a task. |
| create_taskD | Create a task. |
| update_taskD | Update a task. |
| delete_taskC | Delete a task. |
| list_usersC | List users. |
| get_userD | Get a user. |
| create_userD | Create a user. |
| update_userD | Update a user. |
| delete_userD | Delete a user. |
| trash_changeC | Move a change to trash. |
| restore_changeC | Restore a change from trash. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 46 tools
Several tools operate on the same resource with overlapping but distinguishable actions (update_request, assign_request, pickup_request, close_request), and get_task vs get_request_task plus delete_change vs trash_change create boundary confusion. The generic sdp_call overlaps with every specific tool, which can cause an agent to bypass them entirely.
Most tool names follow a clear snake_case verb_noun pattern (list_requests, create_change, update_project, delete_user). Minor deviations exist: sdp_call breaks the verb_noun convention, and delete_change vs trash_change uses different verbs for similar removal semantics.
46 tools is well above the 25-tool threshold for 'too many', even for a broad ITSM domain. Many CRUD and sub-resource operations could be consolidated, and the presence of sdp_call as a catch-all makes the large specific surface less necessary.
The surface covers core CRUD for requests, changes, projects, tasks, and users, including sub-resources like notes and request tasks. However, gaps exist: no list for request resolutions, inconsistent trash/delete semantics across resources, and missing approval or workflow operations. The sdp_call escape hatch can fill gaps but requires endpoint knowledge.