3Notch
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_briefA | Read the default project brief. |
| create_briefA | Use when the user wants a scoped task written down for another agent or session: this writes a new brief Markdown record under .notch/briefs/ from the fields you supply and returns the record with its path. It stores only what you pass — it never reads chat history — and it refuses scope files outside the project root or content the secret scanner flags. |
| list_briefsA | List targeted briefs in this store, newest first, to find a brief ID before reading one with get_targeted_brief. Returns brief metadata only, never the rendered Markdown; targetAgent and status filters match exactly, a tag filter requires every listed tag, and all matches are returned unless limit is set. |
| get_targeted_briefA | Read one targeted brief in full by record ID or stored filename stem, usually after list_briefs narrows the candidates. Set includeMarkdown to also get the rendered Markdown; the call fails rather than guessing when the identifier matches no brief or more than one. |
| create_packetA | Use to capture the current working state as a portable packet another session, tool, or repo can import: it writes a Markdown record to the store outbox, copies any listed files in as artifacts, and returns the packet with its path. Handoff packets require at least one recipient field, content is secret-scanned before it is written, and creating a packet transmits nothing — packing and sending are separate steps. |
| create_markA | Use for a self-addressed capture — a preference, decision, or note the user wants to persist for later sessions with no recipient. This writes a private seed packet straight into .notch/private/inbox/; it is never sent anywhere and stays hidden from packet listings unless the server runs with --include-private. |
| create_replyA | Use to answer a specific packet — question, clarification, counter-decision, objection, or confirmation — instead of editing it; the reply is written as a new packet linked back to the parent, and the parent is never modified. parentId must match exactly one record in the store, and the reply is written privately whenever the parent is private or seed, or private is set. |
| import_packetA | Use when the user hands over a packet file or unpacked packet folder from another repo, tool, or machine and wants it in this store. Requires an absolute path and refuses symlinks, verifies bundled artifact hashes and any referenced records, secret-scans the content, routes private or seed packets to .notch/private/inbox/, and refuses a packet ID already present in that destination rather than overwriting it. |
| list_packetsA | List packets in this store, newest first, to find an ID before reading one with get_packet; returns metadata and on-disk paths, never packet bodies. Defaults to both directions and at most 50 results; private records stay hidden unless the server was started with --include-private, and asking for them without it returns a NOTCH_PRIVATE_HIDDEN warning instead of failing. |
| get_packetA | Read a packet by ID or slug. |
| create_seed_packetA | Use when the user wants durable private context — preferences, conventions, lessons — captured for a future session rather than handed to someone else. This writes a purpose: seed, sensitivity: private packet to .notch/private/outbox/ from the title and summary you supply, and it stays local and unimported until someone runs import_seed_packet. |
| import_seed_packetA | Use when the user points at a seed packet file they have already reviewed and wants that carried-forward private context in this store. Requires an absolute path and refuses symlinks, accepts only packets with purpose: seed, always imports into .notch/private/inbox/, and refuses a packet ID already present rather than overwriting it. |
| inbox_initA | Use only after the user chooses an explicit local mailbox root and address for async cross-agent packet delivery. This writes local configuration and registers the address; it does not create authenticated identity. |
| send_packetA | Use after notch packet pack when the user wants an async handoff to a registered local: address in another repo or model client. This is an externally visible write to the configured mailbox and refuses private or seed packets. |
| list_inboxA | List pending async packet deliveries for this store. Use includeAll only when reviewing pulled, acknowledged, or rejected history. |
| get_inbox_deliveryA | Read retained delivery state by ID, optionally at another registered local: address in the same mailbox root, so the sender can see pulled, acknowledged, or rejected status. |
| pull_inbox_packetA | Verify an async delivery by SHA-256 and existing packet/security checks; set import to true to import it through normal 3Notch validation. Import does not acknowledge or delete the retained delivery. |
| ack_inbox_deliveryA | Mark a reviewed, imported, or intentionally skipped delivery as acknowledged. Packet bytes remain retained for audit and this tool never deletes them. |
| get_statusA | Read first for orientation in a repo that uses 3Notch: returns the project name, store path, counts of briefs and inbox, outbox and private seed packets, the five newest inbox packets, up to ten briefs newest-first, and any config validation warnings. Counts and short summaries only — private seed packets are counted but their contents are never returned. |
| check_storeA | Use after imports or before trusting a supersedes or reply chain: reports broken supersedes and replyTo references, self-references and supersedes cycles as errors, and competing supersedes forks as warnings, each with recovery text. Deterministic and read-only — it never repairs records, and it covers private records only when the server runs with --include-private. Use run_doctor for directory, secret, and audit-log checks. |
| run_doctorA | Run when 3Notch behaves oddly or before trusting a store: checks required directories, .notch/.gitignore coverage of the private, index, and log paths, symlinks, invalid or duplicate records, secrets inside records, audit-log corruption, and Claude Code continuation hook drift. Read-only apart from fixDerivedState, which is refused when the server runs in read-only mode. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/coldlogicAI/3notch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server