Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MANTIS_TOKENYesAPI token from MantisBT (My Account → API Tokens → Create).
MANTIS_READONLYNoSet to 'true' to disable write tools. Default false.false
MANTIS_SEARCH_DIRNoIndex directory for semantic search (optional).
MANTIS_TIMEOUT_MSNoTimeout in milliseconds for Mantis API calls (optional).
MANTIS_SEARCH_MODELNoEmbedding model for semantic search (optional).
MANTIS_MAX_PAGE_SIZENoMaximum page size for listing issues (optional).
MANTIS_REST_BASE_URLYesBase URL of the MantisBT REST API (must include index.php if URL rewriting is disabled).
MANTIS_SEARCH_ENABLEDNoSet to 'true' to enable semantic search tools. Default true.true
MANTIS_SEARCH_THREADSNoNumber of ONNX threads for semantic search (optional).
MANTIS_METADATA_TTL_MSNoMetadata cache TTL in milliseconds (optional).
MANTIS_DEFAULT_PAGE_SIZENoDefault page size for listing issues (optional).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
mantis_whoamiA

Returns the authenticated Mantis user (id, name, access level, accessible projects). Use it to verify the API token works.

mantis_list_projectsA

Lists all projects accessible to the token owner, including nested versions, categories and custom field definitions.

mantis_get_projectA

Returns a single project by id with its versions, categories and custom fields.

mantis_list_project_usersA

Lists the members of a project (id, login name, access level). Use it to find valid handler names for assignment.

mantis_get_enumsA

Returns the common Mantis enumerations (status, priority, severity, resolution, reproducibility, etc.) as {id,name,label} lists. This instance is localized (Spanish names) — use it to map issue status/priority codes and to learn valid names for status changes.

mantis_get_configA

Reads arbitrary Mantis configuration options exposed to the REST API, e.g. ["status_enum_string","bug_resolved_status_threshold"].

mantis_list_filtersA

Lists stored filters, optionally scoped to a project. Pass a filter id to mantis_list_issues to run it.

mantis_get_issueA

Returns one issue by id with every field: description, steps to reproduce, notes, attachments, relationships, custom fields and history. Notes are always included.

mantis_get_issuesA

Fetch several issues by id in one call (max 5 concurrent). Missing/inaccessible ids return null at their position instead of failing the whole call. Includes requested/found/failed counters.

mantis_list_issuesA

List issues (newest id first). Returns a LIGHTWEIGHT summary per issue by default (id, summary, status, handler, reporter, priority, dates…) — call mantis_get_issue for notes/attachments/history. Filter server-side by project_id / stored filter_id. The status, assigned_to, reporter_id and date filters are applied client-side (the REST API lacks them); when active, multiple pages are scanned (up to 500 issues). Use status="open" for all not-yet-resolved issues. Omit project_id to span all projects.

mantis_get_issue_attachmentA

Downloads an attachment of an issue. Image attachments are returned as a viewable image; other files as base64 with metadata. Find file ids in an issue's "attachments" array.

mantis_update_issueA

Partial update of an issue (PATCH). The "fields" object accepts any of:

  • summary, description, steps_to_reproduce, additional_information (strings)

  • status, resolution, priority, severity, reproducibility: { name } (localized or canonical) or { id }

  • handler: { name: "" } or { id }

  • category, version, target_version, fixed_in_version, view_state: { name }

  • custom_fields: [{ field: {id|name}, value: "" }]

When resolving an issue set BOTH status and resolution (or use mantis_resolve_issue). Use "note" to append a comment (e.g. the reason for the change) in the same call. Use dry_run to preview the payload.

mantis_resolve_issueA

Marks an issue as resolved by setting BOTH status and resolution in one call (avoids leaving resolution as "open"). Defaults: status="resuelta", resolution="fixed" — override with names valid on this instance (see mantis_get_enums). Optionally append a note.

mantis_assign_issueA

Assigns an issue to a handler (by login name or user id) and optionally changes its status in the same call. Optionally append a note.

mantis_add_noteA

Adds a note (comment) to an issue. Use private=true for an internal note visible only to developers/managers. To change a field and comment in one call, use mantis_update_issue with its "note" parameter instead.

mantis_add_relationshipA

Links two issues. type is one of: related_to, duplicate_of, has_duplicate, depends_on (parent_of), blocks (child_of) — or a numeric type id.

mantis_remove_relationshipA

Removes a relationship from an issue by relationship id.

mantis_search_issuesA

Search issues by natural-language meaning (not keywords), useful to find similar/duplicate incidents. The index must be built first with mantis_rebuild_search_index. Without "select" only id+score are returned.

mantis_search_index_statusA

Fill level of the semantic index: indexed vs. total issues, plus last sync timestamp.

mantis_rebuild_search_indexA

Builds/updates the semantic search index from Mantis issues. Use full=true to clear and rebuild from scratch. First run downloads the embedding model (may take a minute).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gcorroto/mcp-mantis'

If you have feedback or need assistance with the MCP directory API, please join our Discord server