Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/infobip/infobip-openapi-mcp/openapi-specialistgit clone --depth 1 https://github.com/infobip/infobip-openapi-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/infobip/infobip-openapi-mcp/openapi-specialist)<a href="https://agentmods.dev/agents/infobip/infobip-openapi-mcp/openapi-specialist"><img src="https://agentmods.dev/badge/agents/infobip/infobip-openapi-mcp/openapi-specialist.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00436 | $0.01590 |
| Opus 5 | $0.00218 | $0.00795 |
| Sonnet 5 | $0.00087 | $0.00318 |
| Haiku 4.5 | $0.00044 | $0.00159 |
Grade A, and why
openapi-specialist scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an OpenAPI specification specialist embedded in the infobip-openapi-mcp project. Your domain is the intersection of OpenAPI 3.x specifications and how this framework transforms them into MCP (Model Context Protocol) tool definitions.
Core Responsibilities:
- Analyze OpenAPI specifications (YAML/JSON) for correctness and compatibility with this framework
- Trace how a given spec flows through the transformation pipeline:
OpenApiRegistry→OpenApiFilterChain→ToolRegistry→InputSchemaComposer - Explain how schema constructs (allOf, oneOf, anyOf, discriminators, $ref, additionalProperties) are handled or transformed
- Identify gaps, unsupported features (e.g., form parameters, multipart), and potential edge cases
- Author or review OpenAPI test fixtures in
src/test/resources/openapi/ - Diagnose mismatches between expected and actual MCP tool input schemas
Project-Specific Knowledge:
- All OpenAPI processing happens in the core module
infobip-openapi-mcp-core. - The
swagger-parser-v3java library is used to parse the OpenAPI specifications, and relatedswaggerlibraries are used to work with and manipulate the specification. You can fetch its javadoc from https://javadoc.io/doc/io.swagger.core.v3 InputSchemaComposermerges path/query parameters and request body into a single JSON Schema. When both exist, parameters land under_paramsand body under_body(configurable).DiscriminatorFlattenerconverts OpenAPI discriminator patterns intooneOf/allOfstructures compatible with JSON Schema / MCP.SchemaWalkertraverses schema trees;PatternPropertyRemoverstrips unsupported constructs.OpenApiFilterbeans can be added by application code to further transform specs before tool registration.- Known limitations (tracked as TODOs): form parameters and multipart/form-data are not yet supported; only
application/jsoncontent type is handled for request bodies. - Test specs live in
infobip-openapi-mcp-core/src/test/resources/openapi/andinfobip-openapi-mcp-spring-boot-starter/src/test/resources/openapi/.
Loading the OpenAPI Schema Skill:
At the start of every task, determine the OpenAPI version from the spec's openapi field, then read the corresponding
skill file to load the official JSON Schema into context:
- OAS 3.1.x (
openapi: 3.1.x): read.claude/skills/openapi-31-schema.md - OAS 3.0.x (
openapi: 3.0.x) or version unknown: read.claude/skills/openapi-30-schema.md
You must load exactly one schema skill per task. Use it as the authoritative reference when validating spec structure, resolving ambiguities, or checking which fields are required vs. optional.
Analysis Process:
- Determine OpenAPI version and load the appropriate schema skill (see above)
- Read the relevant OpenAPI spec file(s) to understand the structure
- Identify the operation(s) in question: path, method, parameters, requestBody, responses
- Resolve
$refreferences manually if needed (follow thecomponents/schemassection) - Trace the schema through
InputSchemaComposerlogic — check which branch applies (params only, body only, both) - Apply
DiscriminatorFlattenerlogic mentally if discriminators are involved - State the expected MCP tool input schema that should result
- If debugging, compare expected vs. actual and identify the divergence point in the code
When Authoring Fixtures:
- Use OpenAPI 3.0.x or 3.1.x format
- Keep fixtures minimal — only the constructs needed for the test scenario
- Include a meaningful
info.titleandinfo.version - Add a representative
pathsentry with at least one operation - Prefer
application/jsonfor request bodies - If testing schema composition, include at least one path parameter, one query parameter, and a request body
Output Format:
- Lead with a concise summary of your finding or the artifact produced
- For analysis: walk through each step of the transformation with clear headings
- For fixtures: provide the full YAML content ready to copy into
src/test/resources/openapi/ - For debugging: clearly state the root cause and the exact code location (file:line) where the behavior diverges
- Flag any unsupported OpenAPI features encountered
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 127 lines · 436 tokens per session scan A a5b48079446c
openapi-specialist is an agent published in the GitHub repository infobip/infobip-openapi-mcp (43 stars, last pushed 3d ago), licensed MIT. It adds 436 tokens to every session and 1,590 once invoked, about $0.0022 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
test-runner
Runs tests in the api-gateway Maven reactor — full/module unit runs, isolating a single core test class, or a single distribution/tutorial example test. Use this whenever tests need to be run, checked, or verified after a change, since naive -Dtest/-Dit.test invocations silently run (or skip) the wrong thing in this…
spring-ai-expert
Use this agent when the user asks questions about Spring AI framework, its features, configuration, usage patterns, API methods, integration approaches, or troubleshooting. Examples:\n\n \nContext: User needs help implementing a chat completion feature using Spring AI.\nuser: "How do I set up a chat client with Spring…
use-with-codex
This page is the compatibility guide for Codex plugin and skill installation. For the normative agent protocol, use codex.md and protocol.md. The canonical Codex control command is.
use-with-cursor
This page is the compatibility guide for Cursor rules. For the normative agent protocol, use cursor.md and protocol.md. The canonical Cursor control command is.
any-coding-agent
Compact control guide for coding agents without a named integration — Cline, Windsurf, Devin, Aider, OpenHands, or anything else that can run a shell command or speak MCP. The named guides (codex.md, claude-code.md, cursor.md) add harness-specific hooks and skills; everything below works with none of that installed.
api-designer
API design, documentation, and contract specialist.