# Moxie Docs (remote · moxiedocs.com)

Living docs and MCP context for GitHub repos — conventions, gaps, and source-cited pages on merge.

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

## Components

- remote · `moxiedocs.com`: 81/100 (this document), [markdown](https://verifymcp.io/servers/jackalope-dev-moxie-docs/api-mcp.md), [page](https://verifymcp.io/servers/jackalope-dev-moxie-docs/api-mcp)

## Channel facts

- Endpoint: `https://moxiedocs.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## 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**: 97/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3140 tokens (~261/item across 12 items; 12 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**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http jackalope-dev-moxie-docs https://moxiedocs.com/api/mcp
```

### Codex

```toml
[mcp_servers.jackalope-dev-moxie-docs]
url = "https://moxiedocs.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jackalope-dev-moxie-docs": {
      "type": "remote",
      "url": "https://moxiedocs.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add jackalope-dev-moxie-docs --url https://moxiedocs.com/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  jackalope-dev-moxie-docs:
    url: "https://moxiedocs.com/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "jackalope-dev-moxie-docs": {
      "type": "http",
      "url": "https://moxiedocs.com/api/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 81, +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 80, +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 79, +5)

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

### 2026-07-30 (score 74, −2)

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

### 2026-07-29 (score 76, +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-28 (score 75, +1)

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

### 2026-07-27 (score 74, 0)

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

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

First indexed and scored.

## MCP tools (12)

### `moxie.get_conventions` (~195 tokens)

Get the coding conventions Moxie inferred for the repository. Read-only; no side effects. Returns a Markdown list grouped by category (e.g. testing, structure, docs, review); each convention has a title, summary, confidence score, agent guidance, and the source file paths that evidence it. Use this for the general rules to follow; when you already know the files you're about to edit, prefer moxie.get_doc_impact for conventions scoped to those paths.

Input parameters:

- `category` (string): Optional category filter, such as testing, structure, docs, or review.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.search_docs` (~223 tokens)

Keyword and semantic search across the connected repository's generated docs, conventions, documentation gaps, AI-context notes, and indexed code. Read-only; no side effects. Returns ranked matches in Markdown grouped into Documentation and Code sections, each with a title, snippet, and source paths. Use for open-ended lookups when you don't know which category holds the answer; when you do, the specific getters (get_conventions, get_doc_gaps, get_documentation_opportunities) are more direct. Omitting query returns recent context instead.

Input parameters:

- `limit` (number): Maximum matches to return (1-20, default 8).
- `query` (string): Search phrase or topic. Omit to return recent context for the repository.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.list_docs` (~279 tokens)

List the repository's generated documentation as a browsable table of contents - every doc page, not a query-filtered subset. Read-only; no side effects. Returns Markdown grouped by section, each entry with its title, slug, repository path, and source paths, plus the total count and a pagination cursor so you can tell whether more pages remain (no silent truncation). Use this to see what docs already exist before adding one (so you don't duplicate) or to find the slug to pass to propose_doc_update; when you are hunting for a specific topic, search_docs is more direct.

Input parameters:

- `limit` (number): Maximum docs to return (1-200, default 50).
- `offset` (number): Number of docs to skip for pagination (default 0). Use the cursor in the response to fetch the next page.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…
- `section` (string): Optional section/collection filter (case-insensitive substring), e.g. "Backend" or "Billing". Omit to list every section.

### `moxie.get_doc_gaps` (~188 tokens)

List the unresolved documentation gaps Moxie found - areas of the codebase that lack docs. Read-only; no side effects. Returns a Markdown list, each gap with a title, severity, summary, and suggested file paths. This is gaps only; for the full prioritized work queue that also includes drift repairs and PR-template work, use get_documentation_opportunities, and to scope gaps to files you're about to edit use get_doc_impact.

Input parameters:

- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…
- `severity` (string): Optional severity filter: high, medium, low, or info.

### `moxie.get_documentation_opportunities` (~215 tokens)

List the actionable documentation updates Moxie recommends as a prioritized queue: missing docs, drift repairs, and PR-template work. Read-only; no side effects. Returns a Markdown list, each opportunity with a title, kind (documentation_gap | documentation_drift | pr_template), severity, summary, suggested action, estimated files changed, and source paths. Use this to pick the next doc task; it is the superset of get_doc_gaps (which lists gaps only).

Input parameters:

- `kind` (string): Optional kind filter: documentation_gap, documentation_drift, or pr_template.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…
- `severity` (string): Optional severity filter: high, medium, low, or info.

### `moxie.get_documentation_patterns` (~165 tokens)

Get Moxie's summary of how THIS repository organizes and maintains documentation - where docs live relative to code and how they are kept current. Read-only; no side effects. Returns a Markdown list of pattern entries, each with a title, explanation, and source citations. Use this to decide WHERE a new doc should go before calling propose_doc_update; for the list of WHICH docs need work, use get_documentation_opportunities instead.

Input parameters:

- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.get_ai_context` (~156 tokens)

Get the compact briefing an agent should read before editing this repository: index status, verified commands, agent tips, top conventions, open documentation gaps, and queued documentation opportunities. Read-only; no side effects. Returns a single Markdown document. Call this first at the start of a task; once you know which files you'll change, follow up with get_doc_impact for path-scoped guidance.

Input parameters:

- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.get_doc_impact` (~254 tokens)

Given the file paths an agent is about to change (and optionally a subset being deleted), return the conventions, documentation gaps, and existing/related docs whose evidence overlaps those paths, plus a net-new/undocumented analysis and any removal candidates. Read-only; no side effects. Returns a Markdown report. Call this BEFORE writing code so doc updates land in the same PR; then use propose_doc_update to write a doc, or propose_doc_removal for an orphaned one.

Input parameters:

- `changedPaths` (array, required): Repository-relative file paths the agent intends to modify (e.g., apps/web/src/app/api/billing/webhook/route.ts).
- `deletedPaths` (array): Subset of paths that are being DELETED. Moxie flags any doc whose every cited source path is in this list as a removal candidate for moxie.propose_doc_removal.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.get_api_context` (~153 tokens)

Given file paths an agent is about to touch, return structured context for any API endpoints they map to: method, path, request/response schema, and known consumers/features. Read-only; no side effects. Call this before editing API route or schema code, alongside get_doc_impact.

Input parameters:

- `paths` (array): Repository-relative file paths to inspect for API endpoint context.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.review_change` (~293 tokens)

Self-review a change you are about to commit BEFORE opening the PR. Pass the proposed new state of each changed file (and any deleted paths); Moxie returns a severity-ranked list of violations to fix: convention breaches, docs your change makes factually false, net-new API/surface added without docs, and doc references broken by deletions. Read-only; no side effects and no writes. Returns a Markdown verdict (clean | warnings | must-fix) with each finding's location, fix, and - for doc issues - the slug to pass to propose_doc_update. Call this as the final step of the edit flow, then fix findings and re-run.

Input parameters:

- `changedFiles` (array, required): The files your change adds or modifies, in their PROPOSED new state. Provide newContent (the full new file text) for each; you may also/instead provide patch (a unified diff). Max 20 files per call.
- `deletedPaths` (array): Repository-relative paths your change DELETES, so Moxie can flag docs whose references break.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…

### `moxie.propose_doc_update` (~289 tokens)

Propose a documentation file to add or update as part of YOUR current change. Records a new proposal each call (not idempotent) and does NOT modify your repository or open a PR - Moxie resolves the target path and returns the path + Markdown for YOU to write into your working branch, so the docs land in the SAME PR as the code. Returns the resolved target path and the content to write. Provide either targetPath or baseSlug.

Input parameters:

- `baseSlug` (string): Slug of an existing generated doc to update instead of supplying targetPath.
- `markdown` (string, required): The documentation content (Markdown) to write to the target file.
- `reason` (string): Why this doc is being added or changed.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…
- `sourcePaths` (array): Code paths this doc documents, for provenance.
- `targetPath` (string): Repository-relative path to write the doc to (e.g., docs/billing.md). Omit to resolve from baseSlug.
- `title` (string, required): Short human title for the documentation update.

### `moxie.propose_doc_removal` (~249 tokens)

Propose deleting a Moxie-tracked documentation file that your change makes irrelevant, as part of YOUR current change. Moxie validates the path and returns it for you to delete in your working branch; Moxie itself does not delete files or open a PR - the deletion happens in your branch, so it lands in the SAME PR as the code. Returns the resolved path to delete. Provide either slug or targetPath.

Input parameters:

- `reason` (string): Why this doc is no longer relevant.
- `removedSourcePaths` (array): Code paths being deleted that made this doc irrelevant, for provenance.
- `repository` (string): The target repository as "owner/name" (e.g. "acme/app"). Always pass this unless your token is scoped to a single repository. Matching is case-insensitive. If omitted when the token serves multiple r…
- `slug` (string): Slug of the existing generated doc to remove.
- `targetPath` (string): Repository-relative path of the doc to remove (must be a Moxie-tracked doc). Use instead of slug.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/jackalope-dev-moxie-docs/api-mcp#diagnostics

## Score history

- 2026-08-03: 81
- 2026-08-02: 80
- 2026-08-01: 80
- 2026-07-31: 79
- 2026-07-30: 74
- 2026-07-29: 76
- 2026-07-28: 75
- 2026-07-27: 74
- 2026-07-26: 74

## Links

- Remote endpoint: https://moxiedocs.com/api/mcp
- Repository: https://github.com/Jackalope-Dev/Moxie-Docs-MCP
- Website: https://moxiedocs.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/jackalope-dev-moxie-docs/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/jackalope-dev-moxie-docs/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/jackalope-dev-moxie-docs/api-mcp
