feat: add MCP server instructions for LLM guidance#61
Merged
Conversation
charlie-ang-collibra
approved these changes
May 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 What does this PR do?
Adds the MCP spec's
instructionsfield to CHIP'sinitializeresponse. When a client (Claude Desktop, Claude Code, Cursor, etc.) connects, the server returns a short "user manual" that the client typically injects into the LLM's system prompt — giving the agent cross-tool context that no single tool description could express.How
pkg/chip/instructions.md(new) — the content that ships to clients. Covers what Collibra is, key concepts (Assets, Business Terms, Data Contracts, Classifications), the tool categories with current names, recommended workflows, and key patterns (semantic-search-before-keyword, lineage-IDs-≠-DGC-UUIDs, don't-pre-flight-create_asset, etc.).pkg/chip/server.go—//go:embed instructions.mdcompiles the file into the binary; passed tomcp.ServerOptions{Instructions: ...}so the SDK emits it in theinitializeresponse.pkg/chip/server_test.go— addsTestServer_InitializeResponseIncludesInstructionsverifying the field is non-empty and references Collibra in a real client/server round-trip.Content provenance
The instructions are derived from
SKILLS.md(already in the repo), condensed to fit a token budget. Workflows and patterns trace back to existing statements in SKILLS.md and the tool descriptions — no new "best practices" were invented for this PR. Going forward, SKILLS.md andinstructions.mdshould be kept in sync; drift will hurt agent behavior.✅ Checklist