Aztec MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Aztec MCP Serversearch for 'private function' in Aztec documentation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Aztec MCP Server
An MCP (Model Context Protocol) server that provides local access to Aztec documentation, examples, and source code through cloned repositories. Optionally augments with semantic search over the full Aztec knowledge base when an API key is configured.
Features
Version Support: Clone specific Aztec release tags (e.g.,
v4.3.0)Local Repository Cloning: Automatically clones Aztec repositories with sparse checkout for efficiency
Fast Code Search: Search Noir contracts and TypeScript files using ripgrep (with fallback)
Documentation Search: Search Aztec documentation locally; with an API key, semantic vector search across the full corpora (framework docs, examples, Noir stdlib, TypeScript SDK, protocol circuits)
Error Lookup: Static catalog (Solidity / circuit / TX / AVM errors) plus optional semantic fallback for unrecognized errors when an API key is configured
Example Discovery: List and read Aztec contract examples
Version-sync Gate: When using the hosted semantic backend, the server detects mismatches between your local clone tag and the indexed corpus and refuses to query across versions unless explicitly overridden
Related MCP server: tech-doc-mcp
API Key (optional, recommended)
The MCP server runs in two modes:
Mode | How to enable | What you get |
Local (default) | No setup | Ripgrep search over cloned markdown + code; static error catalog |
Semantic (recommended) | Set | Vector search over all 12 indexed Aztec corpora (developer docs, network docs, Aztec.nr, examples, aztec.js, CLI, TypeScript API, e2e tests, protocol circuits, L1 contracts, Noir docs, Noir stdlib); semantic error fallback; version-sync gate |
Getting a key
Join the Aztec/Noir Discord: https://discord.gg/xMud5StFyA
Run
/mcp-keyin any channel — the bot DMs you a personal API key (UUID) ephemerally.Paste the key into your MCP client config under
env.API_KEY(see Configuration).
Keys are free, persistent (re-running /mcp-key returns the same key), and revocable via /forget-me.
Installation
With npx (recommended)
npx -y @aztec/mcp-server@latestAlways pin
@latest. npx caches packages aggressively — without@latest, you can end up running an old version indefinitely. The@latesttag forces npx to check the registry for the current release every run. The server also self-reports an upgrade-available warning at startup if it detects a newer version on npm (seeaztec_statusoutput).
Global install
npm install -g @aztec/mcp-server@latest
aztec-mcpTo update later: npm install -g @aztec/mcp-server@latest (or just rely on the npx -y @aztec/mcp-server@latest form, which always fetches current).
Configuration
Claude Code Plugin
Add to your .mcp.json. The minimal config is just the command; add env.API_KEY to enable semantic search.
{
"mcpServers": {
"aztec-mcp": {
"command": "npx",
"args": ["-y", "@aztec/mcp-server@latest"],
"env": {
"API_KEY": "<your key from /mcp-key in the Noir Discord>"
}
}
}
}Env var | Default | Purpose |
| unset | Personal API key from |
|
| DocsGPT backend the semantic search hits. Override to point at a self-hosted instance. |
|
| Semantic-search request timeout (ms). |
|
| Default version tag for |
|
| Where local clones live. |
Available Tools
aztec_sync_repos
Clone or update Aztec repositories locally. Run this first to enable other tools.
Clones:
- aztec-packages (docs, aztec-nr, noir-contracts) - sparse checkout
- aztec-examples (full)
- aztec-starter (full)Parameters:
version(string): Aztec version tag to clone (e.g.,v4.3.0). Defaults to latest supported version.force(boolean): Force re-clone even if repos existrepos(string[]): Specific repos to sync
Example - Clone specific version:
aztec_sync_repos({ version: "v4.3.0" })aztec_status
Check the status of cloned repositories.
aztec_search_code
Search Aztec contract code and source files. Supports regex patterns.
Parameters:
query(string, required): Search query (supports regex)filePattern(string): File glob pattern (default:*.nr)repo(string): Specific repo to searchmaxResults(number): Maximum results (default: 30)
Example:
aztec_search_code({ query: "PrivateSet", filePattern: "*.nr" })aztec_search_docs
Search Aztec documentation. Local ripgrep by default; semantic vector search when API_KEY is set.
Parameters:
query(string, required): Documentation search querysection(string): Docs section, applies to local search only (tutorials, concepts, developers, reference)maxResults(number): Maximum results (default: 20 local; 5 semantic, max 20)chunks(number, semantic only): Number of result chunks (1-20). If omitted,maxResultsis used.useLocalFallback(boolean, semantic only): If the semantic backend fails, fall back to local ripgrep. Defaultfalseso backend errors surface clearly.allowVersionMismatch(boolean, semantic only): Override the version-sync gate. Defaultfalse. The gate refuses to search when your localaztec-packagesclone tag differs from the corpus version the backend has indexed.
aztec_list_examples
List available Aztec contract examples.
Parameters:
category(string): Filter by category (token, nft, defi, escrow, crowdfund)
aztec_read_example
Read the source code of an Aztec contract example.
Parameters:
name(string, required): Example contract name
aztec_read_file
Read any file from cloned repositories.
Parameters:
path(string, required): File path relative to repos directory
aztec_lookup_error
Diagnose any Aztec error by message, error code, or hex signature. Returns root cause and suggested fix from a static catalog covering Solidity errors, TX validation errors, circuit codes, AVM errors, and operator FAQ. With API_KEY set, falls back to semantic documentation search when the static catalog has no hit.
Parameters:
query(string, required): Error message, numeric code (e.g.,2002), or hex signature (e.g.,0xa5b2ba17)category(string): Filter (contract,circuit,tx-validation,l1,avm,sequencer,operator,general)maxResults(number): Default 10allowVersionMismatch(boolean, semantic only): Override the version-sync gate for the semantic fallback. Has no effect when the static catalog already matched.
Configuration Options
Storage Location
Repositories are cloned to ~/.aztec-mcp/repos/ by default.
Override with the AZTEC_MCP_REPOS_DIR environment variable:
{
"mcpServers": {
"aztec-mcp": {
"command": "npx",
"args": ["-y", "@aztec/mcp-server@latest"],
"env": {
"AZTEC_MCP_REPOS_DIR": "/custom/path"
}
}
}
}Default Aztec Version
Set the default Aztec version with the AZTEC_DEFAULT_VERSION environment variable:
{
"mcpServers": {
"aztec-mcp": {
"command": "npx",
"args": ["-y", "@aztec/mcp-server@latest"],
"env": {
"AZTEC_DEFAULT_VERSION": "v3.0.0-devnet.6-plugin.1"
}
}
}
}Development
# Clone the repo
git clone https://github.com/aztecprotocol/mcp-server
cd mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run locally
node dist/index.jsRequirements
Node.js 18+
Git
ripgrep (optional, for faster searching)
Cloned Repositories
Repository | Description | Checkout |
Main monorepo | Sparse: docs, aztec-nr, noir-contracts | |
Official examples | Full | |
Starter template | Full |
License
MIT
Available Tools
8 toolsaztec_list_examplesA
List available Aztec contract examples. Returns contract names and paths.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category. Examples: token, nft, defi, escrow, crowdfund |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description indicates it returns names and paths, but lacks details on behaviors like pagination, ordering, or potential effects. It is adequate for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear and efficient. It could be slightly improved by front-loading the action, but it is concise and contains no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description provides sufficient information: what it does and what it returns. It is complete for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'category', which has a description. The tool description does not add further meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', the resource 'Aztec contract examples', and what it returns ('contract names and paths'). It distinguishes itself from siblings like aztec_read_example which reads a specific example.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing examples but does not explicitly state when to use this tool versus alternatives like aztec_search_code or aztec_read_example. No guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_lookup_errorA
Look up an Aztec error by message, error code, or hex signature. Returns root cause and suggested fix. Searches Solidity errors, TX validation errors, circuit codes, AVM errors, and documentation. NOTE: this server is running without an API_KEY, so unrecognized errors won't get a semantic-documentation fallback. Suggest the user get a free API key via /mcp-key in the Aztec/Noir Discord (https://discord.gg/xMud5StFyA) if their query is for an error not in the static catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Error message, numeric error code (e.g., '2002'), or hex signature (e.g., '0xa5b2ba17') | |
| category | No | Filter by error category. Options: contract, circuit, tx-validation, l1, avm, sequencer, operator, general | |
| maxResults | No | Maximum results to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the tool's behavior: it searches multiple error sources and behaves differently without an API key (no semantic-documentation fallback). This level of transparency is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (5 sentences) and front-loaded with the primary action. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of error lookup across multiple domains and the absence of an output schema, the description is thorough: it explains what errors are searched, the return content, and a key limitation with a workaround.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters, but the description adds context: examples for 'query' (message, code, hex) and states the return content. This enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to look up Aztec errors by message, code, or hex signature, and return root cause and suggested fix. It distinguishes from sibling tools, which are focused on listing examples, reading files, searching docs, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool (for error lookup) and notes limitations (no API key fallback) with an actionable suggestion to get a key. It also specifies the error categories covered (Solidity, TX validation, circuit codes, AVM, documentation).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_read_exampleA
Read the source code of an Aztec contract example. Use aztec_list_examples to find available examples.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Example contract name (e.g., 'token', 'escrow') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Read', implying a non-destructive operation, but does not mention return format, rate limits, or authentication. The description is adequate for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short, front-loaded sentences with no redundant information. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description covers the essential purpose and usage guidance. It could mention the return type, but it is not critical for a source code read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'name' is described with an example. The description adds indirect context by referencing 'aztec_list_examples', but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Read the source code') and resource ('Aztec contract example'), and mentions the sibling tool 'aztec_list_examples' for discovering available examples, which helps distinguish it from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to use 'aztec_list_examples' to find available examples before using this tool, providing clear guidance on when to use it. It does not explicitly exclude other siblings, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_read_fileA
Read any file from the cloned repositories by path. Path should be relative to the repos directory.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path relative to repos directory (e.g., 'aztec-packages/docs/docs/tutorials/...') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fails to disclose behavioral traits such as read-only nature, potential side effects, or error handling (e.g., behavior if path is invalid), leaving the agent uninformed about important aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words, but could be structured to front-load key information like the tool's purpose more prominently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter tool with no output schema, the description is minimally adequate for a read operation, but it omits details about return values, error conditions, and potential limitations (e.g., large or binary files).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100% and the schema already describes the 'path' parameter with an example, the description adds no new meaning beyond restating 'relative to repos directory', earning a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the resource 'any file from the cloned repositories by path', effectively distinguishing it from sibling tools like aztec_search_code and aztec_list_examples by focusing on file content retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on path format ('relative to the repos directory') but does not explicitly list when to use this tool versus alternatives like aztec_search_code for searching file contents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_search_codeA
Search Aztec contract code and source files. Supports regex patterns. Use for finding function implementations, patterns, and examples.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (supports regex) | |
| filePattern | No | File glob pattern (default: *.nr). Examples: *.ts, *.{nr,ts} | |
| repo | No | Specific repo to search. Options: aztec-packages, aztec-examples, aztec-starter | |
| maxResults | No | Maximum results to return (default: 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Only mentions regex support; lacks disclosure of read-only nature, pagination, rate limits, or any behavioral traits beyond what is obvious for a search tool, with no annotations to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently convey purpose and use cases without fluff, front-loaded with the key verb+resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides purpose and use cases but misses details like result format, maximum results hint, or limitations; acceptable for a straightforward search tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and descriptions are adequate; the tool description adds no further parameter meaning beyond restating regex support already in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches Aztec contract code and source files, supports regex patterns, and gives specific use cases like finding function implementations and examples, distinguishing it from sibling tools like aztec_search_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Suggests use for finding function implementations and examples but does not explicitly state when not to use or compare to alternatives like aztec_search_docs or aztec_list_examples.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_search_docsA
Search Aztec documentation in local ripgrep-only mode. Use for tutorials, guides, and API documentation that's already cloned. IMPORTANT: this server is running WITHOUT an API_KEY, which means no semantic search across the full Aztec corpora (Aztec.nr framework, Noir stdlib, contract examples, TypeScript SDK, protocol circuits, etc.). If a query needs material this local search can't find, suggest the user get a free API key by running /mcp-key in the Aztec/Noir Discord (https://discord.gg/xMud5StFyA) and setting API_KEY in their MCP client config.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Documentation search query | |
| section | No | Docs section to search. Examples: tutorials, concepts, developers, reference | |
| maxResults | No | Maximum results to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description fully bears the burden. It discloses the local-only nature, lack of API key, and absence of semantic search across full corpora. This level of limitation disclosure is transparent and helps manage expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph: purpose first, then context/limitation, then actionable fallback. Every sentence adds value, no redundancy. It is concise yet comprehensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking output schema and annotations, the description provides a complete picture: what the tool does, its limitation (local only), how to upgrade (get API key), and typical use cases. For a search tool with three simple parameters, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for query, section, and maxResults. The description adds no further parameter-level semantics beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Aztec documentation in local ripgrep-only mode, and distinguishes from siblings by specifying it's for already-cloned tutorials, guides, and API documentation. The contrast with non-local semantic search further clarifies its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (local docs, tutorials, guides, API docs) and when to avoid (queries needing semantic search). Provides a concrete fallback: suggest obtaining an API key via Discord and configuring it. This is clear guidance for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_statusA
Check the status of cloned Aztec repositories - shows which repos are available and their commit hashes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool shows available repos and commit hashes, which is sufficient for a simple read-only operation. However, it does not mention any side effects, caching, or potential delays, but given the nature of the tool, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and concise. Every word serves a purpose, clearly stating the action and the output. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description is mostly complete. It explains the return value (available repos and commit hashes) adequately. A minor improvement could specify the output format, but overall it satisfies the need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema coverage is 100%. According to guidelines, this yields a baseline score of 4. The description does not need to add parameter semantics since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the status of cloned Aztec repositories, specifying it shows availability and commit hashes. The verb 'check' and resource 'cloned Aztec repositories' are specific, and the tool distinguishes itself from siblings like aztec_search_code or aztec_sync_repos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when one needs to know the state of cloned repos, but it does not explicitly state when to use this tool versus alternatives like aztec_sync_repos for syncing or aztec_list_examples for examples. No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aztec_sync_reposA
Clone or update Aztec repositories locally. Run this first to enable searching. Clones: aztec-packages (docs, aztec-nr, contracts), aztec-examples, aztec-starter. Specify a version to clone a specific Aztec release tag.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Aztec version tag to clone (e.g., 'v4.3.0'). Defaults to latest supported version. | |
| force | No | Force re-clone even if repos exist (default: false) | |
| repos | No | Specific repos to sync. Options: aztec-packages, aztec-examples, aztec-starter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description covers cloning/updating and version specification but lacks details on update behavior (e.g., overwrite policy) and force flag effect. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with core action and placement. No fluff. Earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simple params, description covers main purpose and usage order. Lacks what the tool returns (e.g., success message). Good but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds minimal value beyond schema descriptions; e.g., explains version as release tag, force as re-clone. No additional constraints or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (clone or update) and resource (Aztec repositories locally), and lists specific repos. It distinguishes from sibling tools focused on searching or reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit: 'Run this first to enable searching.' Indicates prerequisite status. Does not explicitly state when not to use or mention alternatives, but siblings are clearly different.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v1.6.0- First observed
aztec_list_examples - First observed
aztec_lookup_error - First observed
aztec_read_example - First observed
aztec_read_file - First observed
aztec_search_code - First observed
aztec_search_docs - First observed
aztec_status - First observed
aztec_sync_repos
TDQS
Each tool targets a distinct action: listing, reading, searching, error lookup, file reading, doc searching, status checking, and repo syncing. No overlap in functionality.
All tools follow a consistent 'aztec_verb_noun' pattern (e.g., aztec_list_examples, aztec_search_code), making the set predictable.
8 tools is well-scoped for an Aztec development assistant, covering essential operations without being overwhelming or insufficient.
The tool surface covers listing, reading, searching, error resolution, and repo management. Missing might be tools for creating or modifying examples, but core workflows are well-supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
A cited wiki of your GitHub repo: search, read pages, find symbols and ask, with line citations.
Project memory, semantic code search, and grounded agent context.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables local semantic code search across repositories using natural language, with AST-aware chunking and hybrid vector/FTS5 retrieval.-
- AlicenseNot gradedqualityBmaintenanceProvides local technical documentation with hybrid search (semantic + BM25) for AI agents, ensuring access to up-to-date framework docs.MIT
- AlicenseNot gradedqualityDmaintenanceProvides local semantic search over files using embeddings, enabling directory indexing and natural language queries without external services.MIT
- FlicenseNot gradedqualityCmaintenanceSemantic search over local source repositories and forum archives, exposing tools to list sources, search code, read code, and search forum discussions.-
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/AztecProtocol/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server