Moxie Docs
Ce que fait ce MCP
Analyzes GitHub repositories to provide coding conventions, API context, documentation gaps, documentation opportunities, searchable docs, and pre-commit change reviews.
Outils
Schéma d’entrée
{'type': 'object', 'properties': {'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'paths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Repository-relative file paths to inspect for API endpoint context.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'category': {'type': 'string', 'description': 'Optional category filter, such as testing, structure, docs, or review.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'severity': {'type': 'string', 'description': 'Optional severity filter: high, medium, low, or info.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['changedPaths'], 'properties': {'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}, 'changedPaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Repository-relative file paths the agent intends to modify (e.g., apps/web/src/app/api/billing/webhook/route.ts).'}, 'deletedPaths': {'type': 'array', 'items': {'type': 'string'}, 'description': '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.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'kind': {'type': 'string', 'description': 'Optional kind filter: documentation_gap, documentation_drift, or pr_template.'}, 'severity': {'type': 'string', 'description': 'Optional severity filter: high, medium, low, or info.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum docs to return (1-200, default 50).'}, 'offset': {'type': 'number', 'description': 'Number of docs to skip for pagination (default 0). Use the cursor in the response to fetch the next page.'}, 'section': {'type': 'string', 'description': 'Optional section/collection filter (case-insensitive substring), e.g. "Backend" or "Billing". Omit to list every section.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'slug': {'type': 'string', 'description': 'Slug of the existing generated doc to remove.'}, 'reason': {'type': 'string', 'description': 'Why this doc is no longer relevant.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}, 'targetPath': {'type': 'string', 'description': 'Repository-relative path of the doc to remove (must be a Moxie-tracked doc). Use instead of slug.'}, 'removedSourcePaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Code paths being deleted that made this doc irrelevant, for provenance.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['title', 'markdown'], 'properties': {'title': {'type': 'string', 'description': 'Short human title for the documentation update.'}, 'reason': {'type': 'string', 'description': 'Why this doc is being added or changed.'}, 'baseSlug': {'type': 'string', 'description': 'Slug of an existing generated doc to update instead of supplying targetPath.'}, 'markdown': {'type': 'string', 'description': 'The documentation content (Markdown) to write to the target file.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}, 'targetPath': {'type': 'string', 'description': 'Repository-relative path to write the doc to (e.g., docs/billing.md). Omit to resolve from baseSlug.'}, 'sourcePaths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Code paths this doc documents, for provenance.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['changedFiles'], 'properties': {'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}, 'changedFiles': {'type': 'array', 'items': {'type': 'object', 'required': ['path'], 'properties': {'path': {'type': 'string', 'description': 'Repository-relative path, e.g. apps/web/src/app/api/foo/route.ts.'}, 'patch': {'type': 'string', 'description': 'Optional unified diff for the file (used if newContent is omitted).'}, 'status': {'type': 'string', 'description': 'Either "added" or "modified".'}, 'newContent': {'type': 'string', 'description': 'The full new contents of the file after your change.'}}}, 'description': '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': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Repository-relative paths your change DELETES, so Moxie can flag docs whose references break.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Maximum matches to return (1-20, default 8).'}, 'query': {'type': 'string', 'description': 'Search phrase or topic. Omit to return recent context for the repository.'}, 'repository': {'type': 'string', 'description': '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 repos, the call returns the list of repositories to choose from instead of an answer.'}}}
Modifications récentes des outils
Serveurs MCP similaires
cypher-mcp
Provides named Cypher graph queries and code-orientation tools for tracing capabilities, symbols, invariants, provenance, changes…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
ALM X++ MCP Server
Supports D365 Finance and Operations development with X++ and AOT search, code analysis, Azure DevOps workflows, telemetry querie…
Kaiku
Manages team issues, comments, attachments, projects, wiki pages, and related development workflows.
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
Forge Engine
Manages software design specifications, systems, milestones, tasks, code mappings, project decisions, UI screens, and implementat…
Avalanche AVAX MCP
Searches and retrieves Avalanche documentation, community proposals, CLI guidance, Builder Console workflows, blockchain identifi…
Github
Reads public GitHub repository files, releases, commits, issues, repository metadata, user profiles, and trending repositories.