How to instruct Claude to use Herald
Where to tell Claude, Claude Code and Claude Desktop to pull context before they work, and the wording that works.
Updated
Connecting the workspace gives Claude the tools. It doesn't make Claude use them every time. Claude decides for itself when a tool is worth calling, and a request like "tidy this up" or "what should we do here?" doesn't obviously look like it needs your team's context. A few lines of instruction, in the right places, close that gap.
There are four places to put them. Start with the first and add the others if you still see Claude writing without calling get_context.
1. The workspace's agent instructions
This is the one place that reaches every agent on your team at once, whatever client they use. Open Connect agents, scroll to Agent instructions and write a line or two about when to pull context:
Call get_context before any task that depends on what this workspace knows: writing or editing something, answering a question, reviewing work or making a decision. Do it for small tasks too. Pass the task in plain words, with who it's for and what it's for. If a fact isn't in the context, say so instead of guessing.
Claude gets this when it connects and again at the top of every get_context result. See Agent instructions for what else belongs there.
2. Your own Claude preferences
Workspace instructions only arrive once Claude has decided to look at the workspace. To make it look in the first place, tell Claude directly.
In Claude (web and desktop), open Settings → Profile and add to your personal preferences:
I use the Context connector for my team's shared context: what we do, who we work with, how we work and the rules we follow. Before any task that depends on that, call get_context with the task first, and follow anything listed under Rules.
This applies to every chat you start. If you'd rather keep it to certain work, put the same text in a Project's instructions instead, and do that work inside the project.
3. Claude Code
Claude Code reads CLAUDE.md at the start of every session. Add a section to the repository's CLAUDE.md (shared with everyone who works in the repo) or to ~/.claude/CLAUDE.md (just you, in every repo). This is the version we recommend teams start from:
## Team context (Herald) The `context` MCP server holds our team's shared context: what we do, who we work with, how we do things and the rules we follow. Treat it as the source of truth over your own knowledge or anything on the web. When to use it - Call `get_context` before any task that depends on how we work or what we know: writing or editing something, answering a question, reviewing work or making a decision. Do this for small tasks too. - Pass the task in plain words, with who it's for, what it's for and anything specific it involves (a product, a customer, a project). "Onboarding checklist for a support hire starting Monday", not "write a checklist". How to use what comes back - Anything under "Rules" is a hard constraint. Follow each page's usage note. - Only use facts, quotes and numbers that appear in the context. If something is missing, say so and say what's missing. Don't fill the gap from memory. - Pages link to each other as [[Page Title]]. To follow one, pass the title to `read_page`. - To look up one specific fact, use `search`. For records (accounts, plans, SKUs), use `query_table` instead of reading the whole table. - If you're not sure where something lives, call `get_structure` first. - Pages marked as a private note belong to one person. Don't present them as team-approved. Changing the context - Only edit the workspace when asked to. Edits are saved as drafts, so tell me what you changed and that it needs publishing in the app. - Never call `publish_page` unless I ask for that page to be published.
Use the name you gave the server when you added it. If you connected with claude mcp add ... context ..., the server is called context. If your team has more than one workspace (one per brand, say), add a line saying which one this repo uses, for example "Use the Acme EU workspace for everything in this repo".
Make it specific to the repo. A line saying what the workspace is mostly used for here ("API conventions and docs voice", "sales collateral", "our support policies") helps Claude tell which tasks need it. Keep the "only use facts from the context" line in every version. It's what stops Claude inventing a number.
Claude Code asks permission the first time it calls each tool. To let it read context without asking, allow the read tools in .claude/settings.json:
{
"permissions": {
"allow": [
"mcp__context__get_context",
"mcp__context__search",
"mcp__context__read_page",
"mcp__context__get_structure",
"mcp__context__query_table",
"mcp__context__get_file",
"mcp__context__list_packs"
]
}
}Leave the editing tools off that list so you still see each change Claude wants to make to the workspace.
4. In the chat itself
When it matters, say so. A direct request beats any standing instruction:
Use the context tools first, then do this.
You only need to say it once per chat. After the first get_context call, Claude tends to keep using the workspace for the rest of the conversation.
Prompts that get good context back
What Claude passes to get_context decides what comes back. A vague task gets vague context. Ask for the work the way you'd brief a colleague, and Claude will usually pass that detail along:
| Instead of | Try |
|---|---|
| Write an email | Write a follow-up to a prospect who trialled us and went quiet |
| Write the docs | Document the new export endpoint for developers integrating with us |
| Is this OK? | Review this PR against our API naming conventions |
| What's the process? | How do we approve a refund over $500 for an annual customer? |
Naming who it's for, what it's for and anything specific it involves lets get_context match the right pack and rank the right sections. How get_context chooses explains why.
Asking Claude to add to the workspace
Claude can write pages too, if your connection can edit. That's the quickest way to fill a new workspace, and to keep it current as you work:
Read our pricing page at example.com/pricing and create a Pricing page in the workspace, with a section per plan.
Add what we just worked out about data migration to the Onboarding FAQ page.
Everything Claude writes is saved as a draft. Nobody else's agent sees it until it's published: in the app, or by asking Claude to publish it, if you can publish that page yourself. See When agents write back.
Checking it worked
Open Activity in the app. Each get_context call is listed with the task Claude passed and the pages that went back. If Claude is calling it with tasks like "help the user", your instructions aren't reaching it with enough detail; make them more specific. If it isn't calling at all, see My agent doesn't use the workspace.