MCP tools
Fabric exposes nine tools over MCP. Three work with memory, four with coding standards, one with assessment results, and one reports health.
In Claude Code the tools appear with the prefix mcp__plugin_anthara_anthara-fabric__. For example, search_memories is mcp__plugin_anthara_anthara-fabric__search_memories.
For how to connect and sign in, see Fabric MCP.
Summary
Section titled “Summary”| Tool | What it does | Changes data |
|---|---|---|
add_private_memory |
Saves a fact to your own memory. | Yes |
add_shared_memory |
Saves a fact to the organization’s shared memory. | Yes |
search_memories |
Finds facts in private and shared memory. | No |
get_standards |
Returns every standard that applies to a repository. | No |
list_standard_packs |
Lists the packs that apply to a repository. | No |
get_relevant_standards |
Returns the standards most relevant to one task. | No |
find_similar_standards |
Finds existing rules that resemble a described rule. | No |
get_repo_scan |
Returns a repository’s latest assessment. | No |
get_status |
Reports whether Fabric’s databases respond. | No |
The raw_remote_url argument
Section titled “The raw_remote_url argument”Five tools take raw_remote_url. Pass the output of this command, unchanged:
git remote get-url originFabric accepts SSH and HTTPS addresses from GitHub, GitLab, Bitbucket, and Azure DevOps, and works out the repository name itself. Never pass the literal text ORG_WIDE.
Memory tools
Section titled “Memory tools”add_private_memory
Section titled “add_private_memory”Saves a fact that only you can read back.
| Argument | Required | Rules |
|---|---|---|
data |
Yes | The fact. 1 to 51,200 characters. |
reference_time |
No | When the fact became true. Defaults to now. A time without a timezone is read as UTC. |
name |
No | A short label. Up to 1,000 characters. Defaults to the start of data. |
Returns task_id, scope, org_id, and fact_preview. Fabric queues the write and extracts facts in the background, so a new fact is not searchable at once.
{ "data": "Priya prefers Python 3.12 with type hints for new services."}add_shared_memory
Section titled “add_shared_memory”Saves a fact that everyone connected to the memory group can read. It takes the same arguments as add_private_memory and returns the same fields.
The plugin makes Claude Code ask for your approval before each call. The memory group comes from the address you are connected to. It cannot be passed as an argument.
{ "data": "The payments team deploys to production with ArgoCD from the ops-cluster namespace.", "reference_time": "2026-03-01T00:00:00Z", "name": "Payments deploy process"}search_memories
Section titled “search_memories”Returns one list of facts from private memory, shared memory, or both.
| Argument | Required | Rules |
|---|---|---|
query |
No | What to look for. 1 to 1,000 characters. Leave it out to get the facts from the newest memories. |
scope |
No | private, shared, or all. Defaults to all. |
limit |
No | 1 to 100. Defaults to 10. |
as_of |
No | A point in time. Returns facts as they stood then, including facts replaced since. Only allowed together with query. |
Returns facts, a list. Each fact has uuid, fact, status, valid_at, and scope. The status is active, invalid, or expired. With a query and no as_of, only active facts are returned.
The list has no relevance score. Read the whole list.
{ "query": "ArgoCD production deploy", "scope": "shared", "limit": 5}Standards tools
Section titled “Standards tools”get_standards
Section titled “get_standards”Returns every standard that applies to a repository: the org-wide rules together with the rules from packs applied to that repository.
| Argument | Required | Rules |
|---|---|---|
raw_remote_url |
Yes | See above. |
Returns resolved_repo, total, and standards. Each standard has scope and rule. The scope is org-wide or the repository’s full name.
{ "raw_remote_url": "git@github.com:acme/claims-api.git"}list_standard_packs
Section titled “list_standard_packs”Lists the packs that apply to a repository. Call it before get_relevant_standards to learn which words and tags the packs use.
| Argument | Required | Rules |
|---|---|---|
raw_remote_url |
Yes | See above. |
Returns packs. Each pack has name, description, and tags. The tags list can be empty.
{ "raw_remote_url": "git@github.com:acme/claims-api.git"}get_relevant_standards
Section titled “get_relevant_standards”Returns the standards that best match one task, most relevant first. Use it in place of get_standards when you know what the task is.
| Argument | Required | Rules |
|---|---|---|
raw_remote_url |
Yes | See above. |
task |
Yes | An object. Its fields are in the next table. |
top_k |
No | The most standards to return. 1 to 100. Defaults to 30. |
Fields of task:
| Field | Required | Meaning |
|---|---|---|
task_type |
Yes | One of feature, bugfix, refactor, test, docs, infra, migration. |
description |
Yes | What the task does, written like a search query. 1 to 2,000 characters. |
surface_area |
No | The language, framework, and layers the change touches. Reuse the tags from list_standard_packs. |
data_handled |
No | Kinds of sensitive data the change touches, such as phi or credentials. |
user_facing |
No | true when end users see the result. Defaults to false. |
external_io |
No | true when the change calls outside services or does file I/O. Defaults to false. |
file_paths |
No | Paths or globs the change is expected to touch. |
Returns resolved_repo, total_available, total_returned, retrieval_mode, embedding_coverage, and standards. Each standard has scope, rule, and pack_name.
Two rules decide what comes back:
- A standard tagged with a value you list in
data_handledis always included. - A standard that matches nothing in the task is left out. Fewer results than
top_k, or none, is not an error.
retrieval_mode is hybrid when both keyword and meaning-based search took part. It is bm25_only when only keyword search did.
{ "raw_remote_url": "git@github.com:acme/claims-api.git", "task": { "task_type": "feature", "description": "Add POST /auth/logout that revokes the JWT server-side and writes an audit log row with the user id.", "surface_area": ["typescript", "api", "auth"], "data_handled": ["credentials"], "user_facing": false, "external_io": false, "file_paths": ["src/auth/**"] }, "top_k": 20}find_similar_standards
Section titled “find_similar_standards”Searches every rule in every pack for rules close to one you describe. It includes packs that are applied to no repository. Use it to check whether a rule already exists before you add one.
| Argument | Required | Rules |
|---|---|---|
description |
Yes | The rule to look for. 1 to 2,000 characters. |
raw_remote_url |
No | When given, each match says whether the rule is in effect for that repository. |
top_k |
No | 1 to 20. Defaults to 10. |
Returns resolved_repo, retrieval_mode, and matches. Each match has rule_id, rule, pack_name, pack_org_wide, in_effect, and rank. in_effect is null when you leave out raw_remote_url.
{ "description": "Always validate request bodies with a schema before use", "raw_remote_url": "git@github.com:acme/claims-api.git"}Assessment and health tools
Section titled “Assessment and health tools”get_repo_scan
Section titled “get_repo_scan”Returns the latest assessment for a repository, as the signed-in person sees it.
| Argument | Required | Rules |
|---|---|---|
raw_remote_url |
Yes | See above. |
Returns state, full_name, provider, repository, scan, and next_step_url.
state |
Meaning |
|---|---|
ok |
The latest assessment finished. scan holds the result. |
not_imported |
The repository is not in Anthara. next_step_url says where to import it. |
never_scanned |
The repository is imported but has no assessment yet. |
scan_in_progress |
An assessment is running. |
scan_failed |
The latest assessment failed. |
{ "raw_remote_url": "https://github.com/acme/claims-api.git"}get_status
Section titled “get_status”Takes no arguments. Returns healthy, postgres, and graph. Each is true or false. healthy is true only when both databases respond.
{}