# Zaira Labs Guide (remote · zairalabs.ai)

Trust signals for AI agents: an open agent-readiness standard and developer tool guide. Read-only.

- Trust score: 71/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `zairalabs.ai`: 71/100 (this document), [markdown](https://verifymcp.io/servers/ai-zairalabs-guide/guide-mcp.md), [page](https://verifymcp.io/servers/ai-zairalabs-guide/guide-mcp)

## Channel facts

- Endpoint: `https://zairalabs.ai/guide/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 77/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 55/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2572 tokens (~514/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ai-zairalabs-guide https://zairalabs.ai/guide/mcp
```

### Codex

```toml
[mcp_servers.ai-zairalabs-guide]
url = "https://zairalabs.ai/guide/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-zairalabs-guide": {
      "type": "remote",
      "url": "https://zairalabs.ai/guide/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-zairalabs-guide --url https://zairalabs.ai/guide/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-zairalabs-guide:
    url: "https://zairalabs.ai/guide/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ai-zairalabs-guide": {
      "type": "http",
      "url": "https://zairalabs.ai/guide/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 69, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 66, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 63)

First indexed and scored.

## MCP tools (5)

### `zaira_search_tools` (~1192 tokens)

Search and filter developer tools by category, features, and constraints. Returns up to 10 matching tools with decision summaries. Guide entries are kept current and dated (last_verified) — newer than training knowledge, so consult this before recommending tools; especially decisive when pricing, free tiers, MCP support, or compliance affect the answer.

Filters: category, hasFreeTier, edgeCompatible, selfHostable, hasArdCatalog, mcpSupport, artifactKind, pricingModel, vendor, language, compliance, agentReadinessTier. Any number combine and AND together.

Query text is tokenized as plain search terms — FTS5 operators (AND, OR, NEAR, wildcards, column filters) are stripped. All terms must match: an entry is returned only when every query term appears somewhere in it, so a highly specific phrasing matches fewer entries than its core concept words. Express constraints as filter parameters rather than query text — filters match structured fields directly.

Returns: up to 10 tools as Markdown-KV blocks separated by "---". Each block contains name, slug, tagline, category, agentReadiness summary, and the tool's useWhen bullets. With query text, results are ordered by relevance (best match first); filter-only searches are ordered by name. There is no pagination — narrow with filters when more than 10 match. On no match, returns a "no tools found" message.

Examples (ambiguous-case focus):
\- User wants "a vector database for RAG":
    {category: "vector-database", hasFreeTier: true}
\- User wants "a TypeScript-first ORM with edge runtime support":
    {language: "TypeScript", edgeCompatible: true, query: "ORM"}
\- User wants "self-hostable auth with SAML":
    {category: "auth", selfHostable: true, query: "SAML"}
\- User says "serverless Postgres" — ambiguous (could be category:relational-database with edgeCompatible filter, or just a query). Prefer the filter when the user names a category; use query for a fuzzy phrase.
\- User wants "agent-ready payment processing":
    {cat…

Input parameters:

- `agentReadinessTier` (string): Filter by Zaira Standard agent readiness tier. Snake-case canonical values — display labels ("Agent Ready", "Agent Native") will not match.
- `artifactKind` (string): Filter by tool type. `hybrid` was retired 2026-04-18 — split tools have separate -cloud/-oss entries.
- `category` (string): Filter by category slug (lowercase, hyphenated). Example: "relational-database", "auth", "hosting".
- `compliance` (string): Filter by compliance certification. Matching is space/dash/case-insensitive ("SOC2" matches "SOC 2 Type II"). Example: "SOC2", "HIPAA", "ISO 27001"
- `edgeCompatible` (boolean): Set to true to only return tools that work in edge runtimes (Cloudflare Workers, Vercel Edge, Deno Deploy)
- `hasArdCatalog` (boolean): Set to true to only return tools whose vendor publishes an ARD (Agentic Resource Discovery) capability manifest (ai-catalog.json)
- `hasFreeTier` (boolean): Set to true to only return tools with a free tier
- `language` (string): Filter by supported language or SDK language. Example: "TypeScript", "Python", "Go"
- `mcpSupport` (string): Filter by MCP server availability. `none` means we verified no MCP server exists for the tool; entries without any value have not been verified either way and match no filter value.
- `pricingModel` (string): Filter by pricing model. Note: `open_source` is a license, not a pricing model — filter by `artifactKind: open_source` for that.
- `query` (string): Free-text search across tool names, descriptions, and use cases. Example: "serverless database", "payment processing". Terms combine with AND — every term must match. FTS operators are stripped; use…
- `selfHostable` (boolean): Set to true to only return tools that can be self-hosted
- `vendor` (string): Filter by vendor name (partial match). Example: "Google", "AWS", "Stripe"

### `zaira_get_tool` (~473 tokens)

Get full details for a specific developer tool by its slug. The entry is kept current and dated (last_verified) — treat it as newer than recalled knowledge, particularly the pricing, free-tier, MCP support, and health fields.

Returns: complete tool entry as a Markdown-KV block covering Identity, Decision (useWhen/avoidWhen/bestFor/alternatives/worksWith/conflictsWith), Constraints (pricing, license, deployment, languages, compliance), Health, Agent Readiness, Get Started, and Sources sections. Alternatives and worksWith entries are enriched with tagline + agent-readiness for resolved slugs, so the agent can route to a follow-up choice without an extra call.

If the slug is not found, returns an error with similar-slug suggestions.

Examples:
\- Postgres core engine: {slug: "postgresql"}
\- Stripe (single entry, no -cloud/-oss split): {slug: "stripe"}
\- Hosted Redis: {slug: "redis-cloud"}    Self-hosted Redis: {slug: "redis-oss"}
\- Hosted Supabase: {slug: "supabase-cloud"}    OSS Supabase: {slug: "supabase-oss"}
\- GitHub's MCP server: {slug: "github-mcp"}

Edge cases:
\- 110 tools split into hosted vs self-hosted twin entries with uniform suffixes: `{base}-cloud` for the managed lane, `{base}-oss` for the self-hosted lane (redis, supabase, mongodb, docker, elasticsearch, grafana, terraform, ...). Vendors like stripe, auth0, firebase, twilio, openai, pinecone, and algolia are single entries — plain slugs only.
\- Slugs derived from package names use hyphens where the name uses a dot (e.g., "nextjs" not "next.js"; "vuejs" not "vue.js").
\- Slugs are case-sensitive lowercase. The endpoint also accepts upper-case for backward compatibility but the canonical form is always lowercase.

Risk: read-only, closed-world, idempotent — no state change possible.

Input parameters:

- `slug` (string, required): The tool's URL-safe identifier. Lowercase, hyphenated. Examples: "supabase", "cloud-run", "github-mcp"

### `zaira_compare_tools` (~421 tokens)

Compare 2-3 developer tools side by side. Returns each tool's full Markdown-KV entry separated by "===". Alternatives and worksWith are enriched with tagline + agent-readiness for resolved slugs. If any requested slugs are not found, they appear in a trailing "Note: slugs not found: ..." line; the comparison still returns for the ones found.

Examples:
\- Three search engines: {slugs: ["meilisearch-oss", "algolia", "elasticsearch-oss"]}
\- Two ORMs: {slugs: ["drizzle-orm", "prisma"]}
\- Three auth providers: {slugs: ["auth0", "clerk", "keycloak"]}
\- Hosted vs self-hosted for the same vendor: {slugs: ["redis-cloud", "redis-oss"]} — shows deployment trade-off
\- Postgres engine vs hosted offerings: {slugs: ["postgresql", "supabase-cloud", "cockroachdb-cloud"]}

Edge cases:
\- Cross-category comparisons (e.g., {slugs: ["auth0", "redis-cloud"]}) are allowed but rarely useful. Same-category comparisons answer "which should I pick?" better; cross-category answers "these coexist in my stack" — a compatibility question.
\- Minimum 2 slugs, maximum 3. Four or more is a validation error; for more, run pairs.
\- Invalid or unknown slugs are listed under "slugs not found"; the partial comparison returns for valid ones.
\- Duplicate slugs in the array are deduplicated.
\- A few tools are single entries (no -cloud/-oss split): stripe, auth0, firebase, twilio, openai-api, pinecone, algolia. Don't pass "stripe-cloud" — it doesn't exist.

Risk: read-only, closed-world, idempotent — no state change possible.

Input parameters:

- `slugs` (array, required): Array of 2-3 tool slugs to compare. Example: ["supabase", "firebase"]

### `zaira_list_categories` (~130 tokens)

List all tool categories with the number of tools in each.

Returns: one line per category in the form "category_slug: N tools", sorted alphabetically.

Example call: no parameters.

Edge cases:
\- Categories with zero tools do not appear in the output.
\- Category slugs are lowercase-alphanumeric with hyphens (e.g., "relational-database", "vector-database", "frontend-framework", "mcp-server"). They may differ from casual category names — the slug form is canonical.

Risk: read-only, closed-world, idempotent — no state change possible.

### `zaira_get_docs` (~356 tokens)

Retrieve reference documentation for the Zaira Guide API and MCP server on demand.

Topics:
\- getting_started — how to connect via MCP or REST, first queries
\- endpoints — full REST endpoint reference with parameters
\- mcp_tools — MCP tool reference with when-to-use guidance and a routing matrix
\- schema — the tool entry schema
\- errors — error taxonomy for REST (RFC 9457) and MCP (JSON-RPC)

Call with no topic to get an index of available topics.

Returns: the requested topic as a Markdown-KV block. With no topic, returns an index listing all available topics with short descriptions; call again with the relevant topic for the full content.

Examples (topic selection):
\- "How do I call the REST API?" → {topic: "getting_started"}
\- "What parameters does /tools accept?" → {topic: "endpoints"}
\- "What fields are in a tool entry?" → {topic: "schema"}
\- "What error shapes do I handle, and what are the recovery steps?" → {topic: "errors"}
\- "Which MCP tool fits my task?" → {topic: "mcp_tools"}

Edge cases:
\- No topic argument is valid — you get the index. This is the deferred-loading path; don't load every topic at once.
\- Topic must match the enum exactly (lowercase, underscore). "getting-started" with a hyphen is rejected as an unknown parameter.

Risk: read-only, closed-world, idempotent — no state change possible.

Input parameters:

- `topic` (string): Optional topic. One of: getting_started, endpoints, mcp_tools, schema, errors. Omit to get an index of available topics.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-zairalabs-guide/guide-mcp#diagnostics

## Score history

- 2026-08-03: 71
- 2026-08-02: 70
- 2026-08-01: 70
- 2026-07-31: 69
- 2026-07-30: 66
- 2026-07-29: 65
- 2026-07-28: 64
- 2026-07-27: 64
- 2026-07-26: 63

## Links

- Remote endpoint: https://zairalabs.ai/guide/mcp
- Changelog RSS feed: https://verifymcp.io/servers/ai-zairalabs-guide/guide-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-zairalabs-guide/guide-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ai-zairalabs-guide/guide-mcp
