batman-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@batman-mcpget current batman"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Batman MCP Server
Este é um servidor MCP (Model Context Protocol) para a aplicação Batman API, que permite gerenciar o sistema de escalação de desenvolvedores para resolver incidentes durante a sprint.
📋 Funcionalidades
O servidor MCP expõe as seguintes funcionalidades da API Batman:
🔐 Autenticação
batman_login: Fazer login na API Batman
batman_register: Registrar novo usuário na API Batman
👥 Desenvolvedores
batman_get_developers: Listar todos os desenvolvedores
batman_get_developer: Obter um desenvolvedor específico
batman_create_developer: Criar um novo desenvolvedor
batman_update_developer: Atualizar um desenvolvedor
batman_delete_developer: Remover um desenvolvedor
🚫 Indisponibilidades
batman_get_unavailabilities: Listar indisponibilidades
batman_create_unavailability: Criar uma nova indisponibilidade
🦇 Batman
batman_get_current_batman: Obter o Batman e Robin atuais
batman_get_priority_details: Obter detalhes do cálculo de prioridade
batman_assign_batman: Atribuir o Batman atual
📜 Histórico
batman_get_history: Obter histórico de Batmans
Related MCP server: Ticket Management & Meeting Overview MCP Server
🚀 Instalação
Instalar dependências:
npm installCompilar o projeto:
npm run buildExecutar o servidor:
npm start🔧 Configuração
O servidor MCP se conecta à API Batman no endereço http://localhost:3000 por padrão. Para alterar a URL da API, modifique o construtor da classe BatmanApiClient em src/api-client.ts.
📖 Uso
Configuração no Cliente MCP
Adicione o servidor ao seu cliente MCP (como Claude Desktop):
{
"mcpServers": {
"batman": {
"command": "node",
"args": ["/caminho/para/batman-mcp-server/dist/index.js"]
}
}
}Exemplos de Uso
1. Fazer Login
{
"name": "batman_login",
"arguments": {
"username": "admin",
"password": "admin123"
}
}2. Obter Batman Atual
{
"name": "batman_get_current_batman",
"arguments": {}
}3. Listar Desenvolvedores
{
"name": "batman_get_developers",
"arguments": {
"byPriority": true
}
}4. Criar Desenvolvedor
{
"name": "batman_create_developer",
"arguments": {
"name": "João Silva",
"priority": 0
}
}5. Criar Indisponibilidade
{
"name": "batman_create_unavailability",
"arguments": {
"developerId": "uuid-do-desenvolvedor",
"description": "Férias",
"startDate": "2024-01-15T00:00:00.000Z",
"endDate": "2024-01-30T23:59:59.999Z",
"level": 8
}
}6. Atribuir Batman
{
"name": "batman_assign_batman",
"arguments": {}
}🏗️ Estrutura do Projeto
src/
├── index.ts # Ponto de entrada
├── mcp-server.ts # Servidor MCP principal
├── api-client.ts # Cliente da API Batman
└── types.ts # Tipos TypeScript🔒 Autenticação
Para usar funcionalidades que requerem autenticação (criar, atualizar, remover), você deve primeiro fazer login usando batman_login ou batman_register. O token JWT será automaticamente incluído nas requisições subsequentes.
📝 Desenvolvimento
Executar em modo de desenvolvimento:
npm run devLinting:
npm run lintFormatação:
npm run format🔗 API Batman
Este servidor MCP se conecta à API Batman que deve estar rodando em http://localhost:3000. Para mais informações sobre a API, consulte a documentação em ../api/README_API.md.
📄 Licença
ISC
Available Tools
14 toolsbatman_assign_batmanD
Atribuir o Batman atual
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure, but it only states 'assign the current Batman'. It does not disclose side effects, permissions, whether it mutates state, or what the output is, making it entirely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief, which might seem concise, but it is under-specified rather than appropriately concise. It provides no meaningful information beyond what the tool name already implies, so it does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and parameters, the description is the only source of context, and it is severely inadequate. It does not explain what 'assign' means, what the current Batman is, or any behavioral implications, making the tool effectively unusable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the schema itself already fully describes the input. The description does not need to add parameter details, and the baseline of 4 is appropriate because there is no gap in parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Atribuir o Batman atual' restates the tool name with the addition of 'current', providing minimal clarity about what assigning the current Batman actually does. It does not distinguish this tool from siblings like batman_get_current_batman or batman_create_developer, leaving the purpose ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description does not mention any prerequisites, context, or scenarios where this tool would be appropriate, leaving the agent without any direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_create_developerC
Criar um novo desenvolvedor
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| priority | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to cover safety or side effects, the description carries the full burden but reveals nothing about permissions, irreversibility, or response behavior. It merely says 'Criar um novo desenvolvedor' (Create a new developer), which gives no insight into what happens during the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise and front-loaded, but it is under-specified for a tool with parameters and siblings. It is not overly verbose, but it sacrifices necessary detail, making it only minimally acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and sibling tools that create other entity types, the description is far too bare. It does not explain prerequisites, return values, parameter meanings, or how this creation differs from others, leaving the agent to rely on guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two parameters (name, priority) with 0% description coverage, and the description does not mention them at all. The agent receives no explanation of what 'name' or 'priority' mean, how they affect the creation, or any validation rules, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Criar um novo desenvolvedor' clearly states the action (create) and resource (developer), making it distinguishable from siblings like 'update_developer' or 'delete_developer'. However, it lacks any additional specificity about the created entity's properties or context, so it doesn't fully earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'batman_update_developer' or 'batman_get_developers'. The description only states the action without any contextual hints or exclusions, providing no usage direction beyond the obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_delete_developerC
Remover um desenvolvedor
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says 'remove' without disclosing that the deletion is permanent, any cascading effects, or required permissions. It provides no behavioral context beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than concise informativeness. It essentially restates the tool name without earning its place or adding value for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations, output schema, or parameter descriptions, this description is inadequate. It omits consequences, return behavior, and any conditions, leaving the agent to guess critical details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter is not described in the schema or the description; the description does not clarify that the id refers to the developer being removed. With 0% schema coverage, the description fails to add any meaning to the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remover um desenvolvedor' clearly states the action (remove) and resource (developer), identifying it as a deletion tool. It distinguishes from siblings by use of the verb 'remover', but it is minimal and closely mirrors the tool name, lacking details like 'permanently' or 'by id'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like create, update, or get developer. The description gives no context on prerequisites, exclusions, or situations where another sibling would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_get_current_batmanB
Obter o Batman e Robin atuais
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description carries the full burden of behavioral disclosure. 'Obter' implies a read operation, but it does not disclose authentication requirements, return format, or side effects. This is minimal transparency beyond the verb itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, front-loaded with the action and resource, and contains no wasted words. It is appropriately sized for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter getter, the description is functional but thin. It lacks a statement of return value or domain context around 'current', and there is no output schema to compensate. However, sibling tool names provide some context about the system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description adds no parameter information. With 0 parameters, a baseline of 4 is appropriate because there is nothing to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Obter o Batman e Robin atuais', using the specific verb 'Obter' and naming the resource 'Batman e Robin atuais'. This clearly distinguishes it from sibling tools focused on developers, unavailabilities, or priorities, though it does not define what 'atuais' means in the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description only says what the tool gets, not when to use it versus alternatives. There is no mention of exclusions or alternative tools, leaving the use case implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_get_developerB
Obter um desenvolvedor específico
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'get' which implies read-only, but does not state what happens if the developer is not found, whether authentication is required, or what the return value looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no unnecessary words. It is appropriately sized for a simple get-by-ID tool and front-loads the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% parameter coverage, the description is too minimal. It only states the purpose and omits important context such as error behavior, required permissions, or return format, which is expected for a functional get tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It does not explain the 'id' parameter or its format. While the parameter name 'id' is somewhat self-explanatory, the description adds no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get a specific developer', which is a clear verb+resource construction. The word 'specific' distinguishes it from the sibling tool 'batman_get_developers' which retrieves multiple records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention using this when an ID is known or that get_developers should be used for listing. The description provides no context on preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_get_developersC
Listar todos os desenvolvedores
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| byPriority | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full burden of behavioral disclosure. It only says 'list all developers' without detailing how the 'name' and 'byPriority' parameters affect behavior, what the response looks like, or whether any permissions are required. This is insufficient for a tool with hidden behavioral nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, but it is under-specified for the number of parameters. While it earns its place as a core statement, it lacks necessary details, making it not fully appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no annotations, and no output schema, the description is incomplete. It does not explain how to use the parameters, what the return value is, or any edge cases. The description is minimally viable but fails to cover essential context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention either parameter ('name' or 'byPriority'). The description adds no meaning beyond the parameter names, leaving the agent without any clue about how to use them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Listar todos os desenvolvedores' (List all developers). It uses a specific verb (list) and resource (developers) with explicit scope (all), and the plural form distinguishes it from the sibling tool 'batman_get_developer'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that this returns all developers while 'batman_get_developer' fetches a single one, nor does it explain any conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_get_historyC
Obter histórico de Batmans
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the transparency burden. It only implies a read operation through 'Obter', but does not disclose response format, pagination, authorization requirements, or whether the operation is safe beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase, which makes it concise and front-loaded. However, it is under-specified: it provides no supporting details that would help an agent use the tool, so its brevity is efficient but incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple (one optional parameter, no output schema), the description fails to explain what the history contains, what 'id' refers to, or when to use it. An agent would struggle to invoke this tool correctly based on the provided information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one optional string property 'id' with no description, and the description does not mention it. With 0% schema description coverage and no compensation in the description, an agent cannot infer what the id parameter represents or how to use it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Obter histórico de Batmans' states a clear retrieval action ('Obter') and a resource ('histórico de Batmans'), and the word 'history' distinguishes this from sibling tools like get_current_batman or get_developers. However, it does not specify what kind of history is included, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as batman_get_current_batman, batman_get_developers, or batman_get_priority_details. No context, exclusions, or example use cases are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_get_priority_detailsC
Obter detalhes do cálculo de prioridade
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states a high-level action and offers no information about side effects, required permissions, return format, or potential errors. This is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence with no unnecessary words. It is front-loaded and easy to parse, making it highly concise. However, this conciseness comes at the cost of substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 params, no annotations, no output schema), but the description still fails to explain what 'priority details' actually include or how the output can be used. An agent would have no idea what response to expect, making the description incomplete for real-world invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to elaborate on. The schema coverage is 100%, and with no params, the description's lack of parameter detail is not a deficiency. The baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Obter detalhes do cálculo de prioridade' is essentially a Portuguese translation of the tool name 'get_priority_details', providing no additional specifics. It identifies a verb and resource but does not distinguish from sibling tools like batman_get_history or batman_recalculate_priorities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, scenarios, or exclusions, leaving the agent without any decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_loginC
Fazer login na API Batman
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes | ||
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only says 'login' without explaining side effects (e.g., session creation), success/failure behavior, or whether credentials are validated. This is insufficient for a mutation-like operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the purpose. It is front-loaded and has no filler, though it is minimal. It earns its place as a purpose statement but sacrifices detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain the result of a successful login (e.g., token), error handling, or any related session behavior. For a login tool with two parameters, more context is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning for the parameters (username, password). The description does not explain what each parameter is for, format expectations, or any constraints beyond the schema's basic type and required-ness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Fazer login na API Batman' clearly states the action (login) and the resource (Batman API). It is a specific verb+resource pair, but it does not distinguish from sibling tools like batman_register or batman_get_current_batman, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not state when to use this tool versus alternatives, nor does it mention prerequisites or context like 'when you need to authenticate' or 'after registration'. The intended usage is only implied by the login action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_recalculate_prioritiesC
Recalcular prioridades dos desenvolvedores
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It merely says 'recalcular prioridades' without explaining whether this is a mutating operation, whether it requires authentication, or what effects it has. The description adds no transparency beyond the tool name itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a single phrase. It is efficient and front-loaded, though it may be slightly under-specified. However, for a tool with no parameters, this brevity is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params, no output schema), but the description lacks contextual completeness: it does not explain what 'recalculate' entails, whether it is a read or write operation, or when to invoke it relative to other tools. The agent would be left guessing about side effects and sequencing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is empty and the description does not need to explain parameters. Per rubric, a 0-parameter tool gets a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool recalculates developer priorities using the verb 'recalcular' and the resource 'prioridades dos desenvolvedores'. This is specific enough to distinguish it from sibling tools like 'get_priority_details' or 'assign_batman', which have different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any context such as prerequisites or expected outcomes. It is a bare phrase without usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_registerC
Registrar novo usuário na API Batman
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| password | Yes | ||
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description gives zero behavioral disclosure beyond the basic action. It doesn't mention side effects (e.g., creating a database record), required permissions, idempotency, or possible error conditions, leaving the agent without crucial safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which seems concise, but it is under-specified. It provides only a minimal phrase with no additional context or structure, which does not earn its place as a useful tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 required parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain the registration flow, expected response, error scenarios, or any behavioral context, making it inadequate for an agent to use the tool safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter details. While parameter names (username, email, password) are self-explanatory, the description does not clarify required formats, constraints, or how they relate to the registration process, failing to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Registrar novo usuário na API Batman' clearly states the action (register) and resource (new user in the Batman API). It distinguishes from siblings like batman_login (login) and batman_create_developer (create developer) by using 'usuário' instead of 'developer', though the distinction is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It only states what it does, with no mention of prerequisites, exclusions, or when to prefer other tools like batman_create_developer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batman_update_developerD
Atualizar um desenvolvedor
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | No | ||
| priority | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It provides zero information about side effects, whether the update is partial or full, error handling, permissions, or return behavior. The agent has no idea what happens on success or failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase with no wasted words, but it is under-specification, not conciseness. It fails to provide essential information that an agent needs, so while economical, it is not appropriately sized for a tool with three parameters and no other context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is extremely incomplete. For a tool with no output schema and no annotations, the description should explain the update semantics, parameter roles, and expected outcome. It does none of these, making it nearly useless for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does nothing to explain the parameters (id, name, priority). It does not indicate that id is required, what name and priority represent, or how they relate to the update operation. The description adds no value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Atualizar um desenvolvedor' (Update a developer) states the action and resource clearly, distinguishing it from create/delete/get siblings by the verb 'update'. However, it is essentially a restatement of the tool name and does not clarify the scope of the update (e.g., which fields are updatable), making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool vs alternatives like create or delete. There are no prerequisites, no mention of requiring an existing developer, and no exclusions, leaving the agent without context on appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
14 tool updates
v1.0.0- First observed
batman_assign_batman - First observed
batman_create_developer - First observed
batman_create_unavailability - First observed
batman_delete_developer - First observed
batman_get_current_batman - First observed
batman_get_developer - First observed
batman_get_developers - First observed
batman_get_history - First observed
batman_get_priority_details - First observed
batman_get_unavailabilities - First observed
batman_login - First observed
batman_recalculate_priorities - First observed
batman_register - First observed
batman_update_developer
TDQS
Each tool targets a distinct resource and action. Developer CRUD, unavailability list/create, and Batman assignment/history/priority operations are clearly separated, with no overlapping purposes.
All tools use a consistent batman_ prefix and follow a verb_noun pattern, but there are minor inconsistencies such as mixed singular/plural nouns (e.g., get_developers vs get_developer) and compound verb forms (get_current_batman, recalculate_priorities).
14 tools is well within the ideal range and each tool serves a specific function in managing developers, unavailability, and Batman assignments.
The developer lifecycle is fully covered with CRUD, but unavailability is missing update and delete operations, representing a minor gap in the otherwise complete workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Product Management
A MCP server built for developers enabling Git based project management with project and personal…
MCP Server for an Agent Task Marketplace
Devopness MCP server for DevOps happiness! Empower AI Agents to deploy apps and infra, to any cloud.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server for task/ticket management with dependency tracking, supporting CRUD operations, status management, project filtering, and automatic data migrations.1-
- FlicenseNot gradedqualityBmaintenanceAn MCP server for managing tickets and meetings with CRUD operations, backed by PostgreSQL, and includes a REST API and React frontend.-
- FlicenseNot gradedqualityBmaintenanceMCP server for managing developer escalations: turns Slack messages into tracked issues in Google Sheets, with tools to post messages, check status, get weekly reports, mark solved, and ping.-
- FlicenseNot gradedqualityCmaintenanceMCP server for ticketing automation that exposes tools to create, search, and update IT helpdesk tickets, with metrics tracking.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tadev77/batman-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server