Hi! Looking for the proper approach for adding a bit of ‘system’ context on boot. When writing a hand-rolled tool, one suggested approach would be to use the description field on the tool to describe a given action and narrow possibilities, but here, with operations defined as queries, there’s no way to define this kind of metadata.
Example use case:
Our db uses id and _id and internalID. On boot, we would like to declare that only internalID be used. Given a query like:
”Look up so and so by id ‘foo’', the LLM would first use id (incorrect) instead of (correctly) using internalID . Front-loading critical systems knowledge like this in mcp-config.yml feels quite valuable!
Suggestions on approach? This MCP server will be deployed on our network and generally accessible internally to devs and other teammates, so we need to keep this as low-code as possible. Ideally, users only need to update their mcpServers config in order to get going, not things like .cursorrules, etc, and not encode rules in the mcpServers config other than the URL of the apollo MCP server.
Edit / Solution: Looking around WunderGraph’s implementation, it appears context is provided in the graphql operation through a simple comment in the file. I just created a new systemContext.graphql file, added it as an operation, and the system now has all of our common rules.
Would be great if we could add this to the MCP docs!