Organisation-specific DevOps knowledge for GitHub Copilot
Four well-named, read-only tools with clear descriptions and proper tool annotations. All tools have input schemas with type definitions and parameter descriptions. Naming follows verb_noun convention (fetch_, list_, get_). Descriptions are substantive (100-200 chars) and explain WHEN to call each tool. Tool annotations correctly declare readOnlyHint=true. However, output schemas are not formally documented, responses are formatted as Markdown strings rather than structured JSON objects. Error handling is minimal (returns plain text messages rather than actionable recovery guidance). Parameters lack constraints (enums, ranges, patterns) that would prevent invalid LLM inputs.
Fetch DevOps skills, instructions, prompts, policies, or rules relevant to a given topic or technology. Call this BEFORE writing any code or configuration to get organisation-specific standards. Examples: query='python' returns Python coding standards and architecture skills; query='terraform' returns Terraform module structure and state management policies; query='ansible' returns Ansible role structure and idempotency policies.
Retrieve a specific content item in full using its unique ID. Use when you already know the content ID from a previous list_devops_content or fetch_devops_content call.
List all available DevOps knowledge categories in this MCP server. Call this first to discover what topics are available before calling fetch_devops_content.
List available content items with metadata only (no full content). Use to browse what knowledge is available before fetching full content. Optionally filter by category and type.
Output schemas not formally documented. All tools return plain Markdown strings rather than structured JSON. LLMs cannot parse field names, types, or nested structures, they must regex-parse unstructured text, wasting tokens and inviting parsing errors.
Error handling returns plain text messages ('_No content items matched..._') instead of actionable recovery guidance. LLMs cannot determine if an error is retryable, user-fixable, or fatal.
Parameters lack formal constraints. 'content_type' and 'category' accept free-form strings with no enum or validation. LLMs may hallucinate invalid values like 'content_type=tutorial' when only 'skill|instruction|prompt|policy|rule' are valid.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
No pagination support. list_devops_content and list_devops_categories return all results as plain text. If the knowledge base grows to hundreds of items, responses will bloat the context window and degrade LLM reasoning.
Parameter 'tags' in fetch_devops_content is an array but has no length constraints or item format validation. LLMs may pass 100+ tags, causing performance issues or API timeouts.