MCP Server for Z.AI - A Model Context Protocol server that provides AI capabilities
EXTREMELY agency is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Your agency of AI agents in your AI app: what agents did, approvals, requests, jobs and reports.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user extremely-agency-mcp '--' npx -y @extremely-agency/mcp
# 2 — ask your agent for something these tools do
# list_requests, answer_request, reply_to_request and 28 more
EXTREMELY agency costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts EXTREMELY agency as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. You need Node.js — the current LTS (24) is the safe choice; npx comes with it. Claude Code registers it in one command; --scope user makes it available in every project. The '--' is in quotes so that PowerShell passes it on.
claude mcp add --scope user extremely-agency-mcp '--' npx -y @extremely-agency/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
31 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read from its source code. A server that builds its tool list when it starts can list more tools than this.
Requests agents filed for things they can't do themselves: what they need, why, where each stands, and the conversation with the Agency Engineer.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| include_closed | boolean | no | Closed ones too (default: open only) |
Close a request: done (say what was done, so the agent knows) or rejected (anything drafted for it is discarded). The agent hears on its next run.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| request_id | number | yes | The request number |
| status | string | yes | — |
| answer | string | no | What was done, or why not |
Write in an open request, to the Agency Engineer (as in the app: everyone on the request sees it, and the Engineer is woken to answer).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| request_id | number | yes | The request number |
| text | string | yes | What to say |
Give an agent a job, from you: it starts on it as soon as it can and marks it done with the result (agent_activity shows it). For a question or a quick word, run_agent with a message instead.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id (list_agents) |
| task | string | yes | The whole job, with everything it needs to know |
Every agent: id, name, department, owner, state (active / draining = standby / stopped), ferocity level, models, and whether it is built in.
Takes no parameters.
An agent's files (CHARTER.md, TOOLS.yaml, KPI.yaml), its models and state, its last runs and its memory notes.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
Replace one of an agent's files: CHARTER.md (its job), TOOLS.yaml (tools, tiers, approval windows, ferocity plan) or KPI.yaml (which actions count as output). read_agent first. Its next run uses it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
| file | string | yes | — |
| content | string | yes | The whole new file |
The AI models connected in the app, which agents can be given (set_agent_models).
Takes no parameters.
An agent's models: up to three, in order of preference; it falls to the next when one fails. Each {connection, model, effort: low|medium|high|max}, from list_models.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
| models | array | yes | — |
An agent's ferocity (how hard it works: Chill, Steady, Driven, Relentless, Apocalyptic) or state (active, draining = standby: starts nothing itself, stopped: runs nothing). Built-in agents have neither.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
| ferocity | string | no | — |
| state | string | no | — |
Read this first when making an agent: the agent builder's whole brief - how agents work here, the tool catalogue and default tiers, the tools every agent gets, this organization and the person, the fleet, connected services and their tools and events, the connected models, how to interview the…
Takes no parameters.
Check a build before creating it, without creating anything: the same input as create_agent. Answers with what's wrong, or what it would make.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Short agent name, 1-3 words, title case, e.g. "Invoice Chaser" |
| department | string | yes | — |
| charter | string | yes | The full CHARTER.md in Markdown, written for this organization: # CHARTER - <name>, then ## Mission, ## What this agent does, ## What this agent does not do, ## Autonomy tier (which actions are T0, T1 |
| models | array | yes | Up to three models in order of preference, from "Models connected" only: the first is used, the others take over if it fails. Pick the best fit for the job - strong models for open-ended judgement, fa |
| tools | array | yes | Every tool the job needs. Leave out anything it does not need. Do not list the fleet plumbing. |
| approval_hours | array | yes | One entry per T2 tool |
| new_tools | array | yes | Tools that neither the fleet nor the catalogue has and this agent needs. Empty when existing tools cover it. |
| events | array | yes | What wakes this agent besides its schedule: things happening at a service that it reacts to - a new error report, a support ticket, an alarm, a payment failing. Empty for an agent that only works on i |
| new_events | array | yes | Events nothing connected provides yet that this agent should wake on. The Agency Engineer sets each up and the person connects it. Empty when none. |
| kpi | array | yes | 1-4 actions whose successful calls are the real output of this agent. Never reads or plumbing. |
| max_runs_per_day | number | yes | Runaway backstop, not the cadence: comfortably above what the job needs |
| ferocity | object | yes | How hard it works at each ferocity level, set for this job. The person picks the level on the card. |
| natural_limits | array | yes | Caps on an action at every ferocity - ONLY ones the person asked for in this conversation, in their own words ("at most one post a day"). Never add one because it seems sensible: the agency is here fo |
| profile_notes | array | yes | New facts about the organization that every agent should know. Only what will still be true and useful to an agent months from now: lasting roles, responsibilities, preferences, standards and how they |
| person_notes | array | yes | New facts about the person you're talking to. Only what will still be true and useful to an agent months from now: lasting roles, responsibilities, preferences, standards and how they like to work. Ne |
| report_place | string | no | Where this agent's reports go when the person named a place in this conversation: exactly where (a folder's full path, "email to the owner", the Drive folder or Notion page), then " | " and the tool t |
Add a new agent, as the app's agent builder would (read builder_guide first, and talk to the person the way it says): the full build - name, department, Charter, tools with tiers, events, KPIs, models, ferocity plan. Every id must exist (the guide lists them) or be one of its own new_tools /…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Short agent name, 1-3 words, title case, e.g. "Invoice Chaser" |
| department | string | yes | — |
| charter | string | yes | The full CHARTER.md in Markdown, written for this organization: # CHARTER - <name>, then ## Mission, ## What this agent does, ## What this agent does not do, ## Autonomy tier (which actions are T0, T1 |
| models | array | yes | Up to three models in order of preference, from "Models connected" only: the first is used, the others take over if it fails. Pick the best fit for the job - strong models for open-ended judgement, fa |
| tools | array | yes | Every tool the job needs. Leave out anything it does not need. Do not list the fleet plumbing. |
| approval_hours | array | yes | One entry per T2 tool |
| new_tools | array | yes | Tools that neither the fleet nor the catalogue has and this agent needs. Empty when existing tools cover it. |
| events | array | yes | What wakes this agent besides its schedule: things happening at a service that it reacts to - a new error report, a support ticket, an alarm, a payment failing. Empty for an agent that only works on i |
| new_events | array | yes | Events nothing connected provides yet that this agent should wake on. The Agency Engineer sets each up and the person connects it. Empty when none. |
| kpi | array | yes | 1-4 actions whose successful calls are the real output of this agent. Never reads or plumbing. |
| max_runs_per_day | number | yes | Runaway backstop, not the cadence: comfortably above what the job needs |
| ferocity | object | yes | How hard it works at each ferocity level, set for this job. The person picks the level on the card. |
| natural_limits | array | yes | Caps on an action at every ferocity - ONLY ones the person asked for in this conversation, in their own words ("at most one post a day"). Never add one because it seems sensible: the agency is here fo |
| profile_notes | array | yes | New facts about the organization that every agent should know. Only what will still be true and useful to an agent months from now: lasting roles, responsibilities, preferences, standards and how they |
| person_notes | array | yes | New facts about the person you're talking to. Only what will still be true and useful to an agent months from now: lasting roles, responsibilities, preferences, standards and how they like to work. Ne |
| report_place | string | no | Where this agent's reports go when the person named a place in this conversation: exactly where (a folder's full path, "email to the owner", the Drive folder or Notion page), then " | " and the tool t |
Delete an agent: its files go, its approvals and requests are closed, work handed to it is closed as not done. Its past runs stay in Usage. Built-in agents can't be deleted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
Start an agent now. With a message, it answers it in its DM channel (as if the person wrote it); without, it does its job as on Run now.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
| message | string | no | Optional: what to say to it |
Agents' actions waiting on a person in the app (sending, posting, going live...): only the ones that are yours to decide. decide_approval approves or rejects one.
Takes no parameters.
Approve or reject one of the actions in list_approvals, as on the Approvals screen: approved, it runs now and the agent hears the result; rejected, the agent is told (with the note, if any).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| approval_id | string | yes | The id from list_approvals |
| decision | string | yes | — |
| note | string | no | Optional: why, for the agent |
What the whole agency did since a time (default: the start of today, the agency's own clock): per agent its runs, output actions and last summary, plus what's waiting on a person (approvals, open requests).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| since | string | no | Optional: an ISO date or time, e.g. 2026-11-05 or 2026-11-05T09:00 |
What one agent did since a time (default: the start of today): its DM channel posts (each run's write-up and the tools it used), the people's messages to it, and the jobs given to it.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id (list_agents) |
| since | string | no | Optional: an ISO date or time |
| limit | number | no | Optional: at most this many posts, newest kept (default 30) |
An agent's latest report: the write-up of its last run that made one, and where its reports go (the place its person chose, e.g. a Drive folder).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id (list_agents) |
Every integration (the services agents' tools run on): connected or not, draft or live, its tools. Plus whether code plugins are allowed.
Takes no parameters.
An integration's definition (YAML), and a plugin's code. The shipped ones - brave-search (HTTP), github and gmail (code) - show the format.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| integration_id | string | yes | The integration id |
Save an integration definition (YAML, kind http | mcp | code) as a draft: it shows in the app's Settings > Connectors to be connected, and no agent can call it until publish_integration. Redrafting a live one keeps the live one working meanwhile. Keys and sign-ins are added by the person in…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| yaml | string | yes | The whole definition |
Save a code plugin's TypeScript (only if code plugins are allowed in Settings): export default { tools: [{ id, tier, description, input, run: async (args, token, kit) => string }] }. Network only through kit.fetch; it runs sandboxed with the permissions its kind: code definition declares. It runs…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| module | string | yes | The module name its definition names |
| code | string | yes | The whole TypeScript file |
Call one of an integration's tools for real (a draft or a live one), and see what an agent would. A plugin's code can't be tried before it's published.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| integration_id | string | yes | The integration id |
| tool | string | yes | The tool id |
| args | object | no | Its input |
Make a draft live, and optionally give its tools to an agent. A plugin first gets the independent security review; a serious finding stops it. Done here, it doesn't wait for the app's Approvals.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| integration_id | string | yes | The draft |
| for_agent | string | no | Optional: the agent that gets its tools |
| tools | array | no | For for_agent: the tools to give and their tiers (T0 read, T1 reversible write, T2 needs a person) |
| events | array | no | For for_agent: its events the agent should wake on |
Try an integration's event (draft or live) without waking anyone: a real poll showing what it finds, and the webhook address to paste into the service.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| integration_id | string | yes | The integration id |
| event_id | string | yes | The event (server.event) |
Subscribe an agent to live events: it wakes when they happen, as well as on its schedule. list_integrations shows each integration's events.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
| events | array | yes | Event ids (server.event) |
Give an agent tools that a live integration (or the agency's built-ins) provides, each at a tier.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | The agent id |
| tools | array | yes | — |
Throw away a draft (a redraft of a live one goes back to the live version), or remove an added integration entirely. Shipped ones can't be removed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| integration_id | string | yes | The integration id |
| remove_live | boolean | no | Remove it even though it is live |
No parameter schema on file.
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under AGPL-3.0
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install EXTREMELY agency or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| verification-discount | source | publisher verification (provenance) — cryptographic build provenance ties the artifact to its source | −0 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
Tools were statically extracted from the published source (1 recovered), not enumerated from a running server. Tool-poisoning, Unicode-smuggling, capability and toxic-flow analysis ran on this inferred surface, but a mis-parsed registration could be missed or mis-attributed, so tool-derived findings are capped below “confirmed”. To grade the real runtime surface, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| list_agencies | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Always latest — the install command names no version, so it installs the newest release when it runs; the current release on file is 0.1.1. Pin a release below and the command asks for exactly that one.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish EXTREMELY agency can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.