dev.mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_HOST | No | GitLab host, defaults to https://gitlab.com. | https://gitlab.com |
| GITLAB_TOKEN | No | GitLab Personal Access Token with api scope. | |
| ATLASSIAN_SITE | No | Atlassian site host, e.g. your-site.atlassian.net (no https://). | |
| ATLASSIAN_EMAIL | No | Atlassian account email used for Basic authentication. | |
| HTTP_TIMEOUT_MS | No | Optional HTTP timeout in milliseconds (default 30000). | 30000 |
| HTTP_MAX_RETRIES | No | Optional maximum number of HTTP retries (default 3). | 3 |
| FIGMA_ACCESS_TOKEN | No | Figma personal access token with file content scope (Dev/Full seat). | |
| FIGMA_CACHE_TTL_MS | No | Optional Figma cache TTL in milliseconds (default 300000). | 300000 |
| ATLASSIAN_API_TOKEN | No | Atlassian API token. |
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 |
|---|---|
| figma_whoamiA | Returns the authenticated Figma user (GET /v1/me). |
| figma_get_fileB | Gets the Figma document (GET /v1/files/:key). Use depth/ids to shrink the payload. |
| figma_get_metadataB | Slim XML tree (id, name, type, size) via GET /v1/files/:key/nodes. |
| figma_get_screenshotA | Renders nodes as images (GET /v1/images/:key) and returns temporary URLs. |
| figma_get_variable_defsB | Local (and optionally published) variables for the file (GET /v1/files/:key/variables/...). |
| figma_get_design_contextB | Implementation context (layout, tokens, components, screenshot URL) composed via REST. Not the official MCP proprietary codegen. |
| figma_download_assetsC | Export URLs (GET /v1/images) and image fills for the file (GET /v1/files/:key/images). |
| figma_get_commentsC | File comments (GET /v1/files/:key/comments). |
| jira_get_issueB | Gets a Jira issue (GET /rest/api/3/issue/{key}). |
| jira_search_jqlB | Search issues with JQL (POST /rest/api/3/search/jql). |
| jira_get_projectsC | Lists Jira projects (GET /rest/api/3/project/search). |
| jira_get_issue_types_metadataB | Issue type metadata / create fields (GET /issue/createmeta/{project}/issuetypes). |
| jira_get_transitionsB | Available transitions for an issue (GET /rest/api/3/issue/{key}/transitions). |
| jira_create_issueA | Creates an issue (POST /rest/api/3/issue). Plain-text description is converted to ADF. |
| jira_edit_issueC | Updates an issue (PUT /rest/api/3/issue/{key}). |
| jira_transition_issueC | Applies a transition (POST /rest/api/3/issue/{key}/transitions). |
| jira_add_commentB | Adds a comment (POST /rest/api/3/issue/{key}/comment). |
| jira_add_worklogC | Adds a worklog (POST /rest/api/3/issue/{key}/worklog). |
| jira_lookup_account_idB | Looks up users and accountId (GET /rest/api/3/user/search). |
| jira_get_remote_issue_linksB | Remote links on an issue (GET /rest/api/3/issue/{key}/remotelink). |
| jira_create_remote_issue_linkC | Creates a remote link (POST /rest/api/3/issue/{key}/remotelink). |
| jira_get_issue_link_typesA | Issue link types (GET /rest/api/3/issueLinkType). |
| jira_create_issue_linkC | Creates a link between issues (POST /rest/api/3/issueLink). |
| confluence_get_spacesC | Lists spaces (GET /wiki/api/v2/spaces). |
| confluence_get_pages_in_spaceC | Pages in a space (GET /wiki/api/v2/spaces/{id}/pages). |
| confluence_get_pageB | Gets a page (GET /wiki/api/v2/pages/{id}). |
| confluence_get_page_descendantsC | Page descendants (GET /wiki/api/v2/pages/{id}/descendants). |
| confluence_get_page_footer_commentsC | Footer comments (GET /wiki/api/v2/pages/{id}/footer-comments). |
| confluence_get_page_inline_commentsC | Inline comments (GET /wiki/api/v2/pages/{id}/inline-comments). |
| confluence_search_cqlC | CQL search (GET /wiki/rest/api/search). |
| confluence_create_pageC | Creates a page (POST /wiki/api/v2/pages). body in storage HTML or atlas_doc_format. |
| confluence_update_pageC | Updates a page (PUT /wiki/api/v2/pages/{id}). versionNumber is required. |
| confluence_create_footer_commentC | Creates a footer comment (POST /wiki/api/v2/footer-comments). |
| confluence_create_inline_commentB | Creates an inline comment (POST /wiki/api/v2/inline-comments). |
| gitlab_whoamiA | Authenticated user for the token (GET /user). |
| gitlab_list_projectsB | Lists projects (GET /projects). Defaults to the user's membership, simple payload. |
| gitlab_get_issueB | Gets an issue (GET /projects/:id/issues/:iid). |
| gitlab_create_issueC | Creates an issue (POST /projects/:id/issues). |
| gitlab_list_merge_requestsB | Lists merge requests (GET /projects/:id/merge_requests). |
| gitlab_get_merge_requestC | Gets an MR and optionally commits, diffs, notes, and pipelines. |
| gitlab_save_merge_requestC | Creates (POST) or updates (PUT) a merge request. |
| gitlab_create_merge_request_noteC | Comment on an MR (POST /merge_requests/:iid/notes). |
| gitlab_accept_merge_requestC | Accepts/merges an MR (PUT /merge_requests/:iid/merge). |
| gitlab_add_branchB | Creates a branch (POST /repository/branches). |
| gitlab_add_commitB | Creates a commit with actions (POST /repository/commits). |
| gitlab_get_repository_fileB | File contents (GET /repository/files/:path). content is base64. |
| gitlab_get_commitB | Gets a commit (GET /repository/commits/:sha). |
| gitlab_list_pipelinesC | Lists pipelines (GET /projects/:id/pipelines). |
| gitlab_get_pipelineC | Gets a pipeline (GET /pipelines/:pipeline_id). |
| gitlab_get_pipeline_jobsA | Jobs of a pipeline (GET /pipelines/:pipeline_id/jobs). |
| gitlab_get_jobC | Gets a job (GET /projects/:id/jobs/:job_id). |
| gitlab_list_project_membersA | Project members (GET /projects/:id/members). members/all includes inherited members. |
| gitlab_searchA | Search in the project (GET /projects/:id/search) or globally (GET /search). |
| gitlab_search_labelsB | Project labels (GET /projects/:id/labels). |
| gitlab_list_wiki_pagesC | Wiki pages (GET /projects/:id/wikis). |
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 55 tools
Tools are grouped by product prefix and target distinct resource/action pairs, so most are easy to tell apart even at 55 tools. The main risk is within Figma where get_file/get_metadata/get_design_context and get_screenshot/download_assets have adjacent image/export purposes, though the descriptions provide enough separation.
Nearly all tools follow a product_verb_noun snake_case pattern (confluence_create_page, jira_transition_issue), which is highly predictable. Deviations like figma_whoami/gitlab_whoami and the ambiguous gitlab_save_merge_request (create-or-update) keep it from a perfect score.
At 55 tools this server presents an extreme selection burden, far beyond the 25+ threshold; it effectively bundles four product-specific servers into one namespace. The per-platform subsets are reasonable, but the aggregate would be better split into separate MCP servers.
Core lifecycles are covered for all four platforms: Confluence pages/comments, GitLab MRs/issues/pipelines/files, Jira issues/transitions/comments/worklogs/links, and Figma read/export/context. Missing operations are mostly destructive ones (deletes, comment updates) that can be worked around or are rarely needed in AI-assisted dev workflows.