canonical-vault-mcp-server
canonical-vault-mcp-server
Read-only MCP-сервер, который открывает GitHub-репозиторий canonical-vault для любого MCP-клиента — GitHub Copilot, Claude или чего угодно ещё, что говорит по Streamable HTTP MCP.
Пять инструментов, все только на чтение, все ограничены kushkillerjsixx66/canonical-vault:
Инструмент | Назначение |
| Список файлов/папок по пути |
| Получить декодированное текстовое содержимое файла |
| Родословная — история коммитов для пути |
| Полная информация + статистика изменений для одного коммита |
| Поиск кода по репозиторию |
В этом сервере намеренно нет инструментов записи — ничто здесь не может коммитить, пушить или изменять хранилище.
1. Развёртывание на Vercel
npm install -g vercel # if you don't have it
cd canonical-vault-mcp-server
vercel login
vercelПримите значения по умолчанию (Vercel автоматически определит api/mcp.ts как серверную функцию Node.js). После vercel --prod вы получите URL вида:
https://canonical-vault-mcp-server.vercel.appВаша MCP-конечная точка:
https://canonical-vault-mcp-server.vercel.app/api/mcpПеременные окружения (задаются в дашборде Vercel → Settings → Environment Variables)
Переменная | Обязательная | По умолчанию | Примечания |
| Настоятельно рекомендуется | нет | GitHub PAT с доступом на чтение |
| Нет |
| Меняйте, только если репозиторий переедет |
| Нет |
| Меняйте, только если репозиторий переименуют |
| Нет |
| Ветка по умолчанию, из которой инструменты читают, если |
После добавления переменных окружения выполните повторный деплой (vercel --prod), чтобы функция их подхватила.
Related MCP server: GitHub MCP
2. Подключение GitHub Copilot
Copilot (в VS Code и Copilot coding agent) читает конфигурацию MCP-сервера из .vscode/mcp.json в вашем рабочем пространстве или из глобальных настроек MCP в VS Code. Добавьте:
{
"servers": {
"canonical-vault": {
"type": "http",
"url": "https://canonical-vault-mcp-server.vercel.app/api/mcp"
}
}
}Затем в VS Code: Command Palette → "MCP: List Servers" → canonical-vault → Start. Copilot Chat автоматически подхватит пять инструментов vault_* и сможет вызывать их в режиме агента.
Что касается удалённого кодирующего агента Copilot (не локального для VS Code), тот же URL можно зарегистрировать в настройках MCP-сервера вашей организации на github.com, где бы ни находился конфиг агента Copilot для вашего тарифа — это уже на стороне GitHub, а не этого сервера.
3. Локальное тестирование (до развёртывания)
npm install
npm run build
npx @modelcontextprotocol/inspector node dist/index.jsЭто откроет интерфейс MCP Inspector, где можно вручную вызывать каждый инструмент против живого репозитория перед подключением Copilot.
Чтобы протестировать HTTP-путь локально вместо stdio:
npm install -g vercel
vercel dev
# endpoint: http://localhost:3000/api/mcpПримечания по архитектурным решениям
Stateless-транспорт на каждый запрос:
api/mcp.tsсоздаёт новыйMcpServer+StreamableHTTPServerTransportпри каждом POST-запросе. Это правильный паттерн для serverless — функции Vercel не сохраняют память между вызовами, поэтому сессию хранить не нужно, и это предотвращает коллизии идентификаторов запросов, если два вызывающих обратятся к конечной точке одновременно.Родословная = история коммитов, а не отдельная концепция —
vault_get_file_history— это буквальноGET /commits?path=..., что является наиболее честным отображением «родословной» на то, что реально предлагает GitHub API. Если ваша концепция цепочки родословной хранилища (конвейер governance/vault) требует чего-то более специфичного — например, чтения манифеста родословной, который лежит в репозитории, — лучше навестиvault_get_fileна этот манифест напрямую, чем переписывать историю git.Только чтение по вашему решению — этот сервер не может писать в canonical-vault. Если позже вы захотите, чтобы Copilot коммитил обратно (например, через PR), это отдельный набор инструментов записи с нормальным ревью опасных действий, а не то, что стоит тихо прикручивать.
Ограничение поиска: API поиска кода GitHub индексирует только ветку по умолчанию и имеет собственную задержку распространения — файл, закоммиченный несколько секунд назад, может ещё не появиться в
vault_search_files.vault_get_fileиvault_list_directoryвсегда отражают актуальное дерево.
Available Tools
5 toolsvault_get_commitGet Vault Commit DetailARead-onlyIdempotent
Get full detail for a single commit in canonical-vault: message, author, stats, and the list of files it changed (with per-file diff stats).
Args:
sha (string): Full or abbreviated commit SHA (get one from vault_get_file_history)
response_format ('markdown' | 'json'): Output format (default: 'markdown')
Returns: For JSON format: { "sha": string, "message": string, "author": string, "date": string, "stats": {...}, "files": [{ "filename": string, "status": string, "additions": number, "deletions": number }] }
Examples:
Use when: "What exactly changed in commit a1b2c3d?" -> sha="a1b2c3d"
Don't use when: You just want the commit list for a path (use vault_get_file_history instead)
Error Handling:
Returns "Error: ... not found" if the SHA doesn't exist in this repo
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Full or abbreviated commit SHA | |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, idempotent, and non-destructive. The description adds valuable behavioral details beyond those: the exact JSON return structure, the default response format, and the error handling when a SHA is not found. This goes beyond simple scoping and genuinely helps an agent anticipate tool behavior.
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 well-structured with clear sections (Args, Returns, Examples, Error Handling) and front-loads the core purpose. Every sentence earns its place—no fluff. It is longer than a single sentence, but the length is justified by the need to document output format and error behavior given the absence of an output schema.
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 tool with no output schema, the description fully documents the return format (both markdown and JSON structures), error handling, and usage examples. It also clarifies the scope ('in canonical-vault') and sources the sha from a sibling tool. An agent has everything needed to invoke it correctly, and nothing is left to inference.
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 the schema already documents both parameters. The description adds extra meaning by providing a concrete example of how to obtain a sha (from vault_get_file_history) and by illustrating the response_format usage. While not essential, this context adds value beyond the schema's bare parameter definitions.
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 opens with a clear, specific verb-resource statement: 'Get full detail for a single commit in canonical-vault: message, author, stats, and the list of files it changed (with per-file diff stats).' This precisely defines the tool's function and distinguishes it from siblings like vault_get_file_history (which returns commit lists) and vault_get_file (which retrieves file content).
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 usage guidance is provided: a 'Use when' example ('What exactly changed in commit a1b2c3d?') and a 'Don't use when' case that names the alternative tool (vault_get_file_history). This leaves no ambiguity about when to select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_get_fileGet Vault FileARead-onlyIdempotent
Fetch the decoded text content of a single file from the canonical-vault repository (kushkillerjsixx66/canonical-vault).
Args:
path (string): File path relative to repo root, e.g. 'governance/CONSTITUTION.md'
ref (string): Branch, tag, or commit SHA (default: 'main')
Returns: The raw file text, prefixed with a small header (path, ref, sha, size). Binary or oversized files (> 500000 bytes) return an error instead of garbled content.
Examples:
Use when: "Read me the current Constitution" -> path="governance/CONSTITUTION.md"
Use when: "What does vara.py look like right now?" -> path="vara.py"
Don't use when: You just want to know if a file exists or how big it is (use vault_list_directory instead)
Error Handling:
Returns "Error: ... not found" if the path doesn't exist on that ref
Returns an error for directories (use vault_list_directory instead) or binary files
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag, or commit SHA to read from (default: 'main') | main |
| path | Yes | File path within the repo, relative to root, e.g. 'governance/CONSTITUTION.md' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral detail beyond these: it explains the returned format (header with path, ref, sha, size), imposes a size limit (>500000 bytes returns error), and specifies error messages for missing files and directories. This goes beyond the annotation baseline, though it doesn't describe potential rate limits or exhaustive edge cases, which is acceptable for a read-only file fetch.
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 longer than average but highly structured: a one-sentence purpose, then separate 'Args', 'Returns', 'Examples', and 'Error Handling' sections. The most critical info (purpose and primary use case) is front-loaded, and every section adds distinct value. It is not rambling; it is comprehensive yet organized. Minor redundancy exists between the error handling and the 'Don't use when' note, but not enough to lower the score further.
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?
Without an output schema, the description fully explains the return format (raw text with a small header) and error cases (not found, directory, binary, oversized). It covers both required and optional parameters, provides examples, and names the relevant sibling tools. For a tool of this complexity, nothing essential is missing—an agent can call it correctly and interpret results without additional information.
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 descriptions for both 'path' and 'ref'. The description adds meaning beyond the schema by providing an example for path ('governance/CONSTITUTION.md'), clarifying that paths are relative to repo root, and listing allowed ref values. This enriches the baseline of 3 for full schema coverage, making the parameters more intuitively usable.
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 states a specific verb-resource pair: 'Fetch the decoded text content of a single file from the canonical-vault repository'. It clearly distinguishes from siblings like vault_list_directory (which lists) and vault_search_files (which searches), and the scope is explicitly limited to a single file. This leaves no ambiguity about the operation.
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 gives explicit when-to-use and when-not-to-use guidance. It provides concrete natural-language examples (e.g., 'Read me the current Constitution' → path='governance/CONSTITUTION.md') and directly tells the agent to use vault_list_directory for existence/size checks. It also covers the case of directories and binary files, routing them to the sibling. This is exemplary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_get_file_historyGet Vault File/Path LineageARead-onlyIdempotent
Get the commit lineage (history) affecting a file or directory in canonical-vault — i.e. every commit that touched that path, most recent first.
Args:
path (string): File or directory path to trace (default: "" for whole-repo history)
ref (string): Branch, tag, or commit SHA to start from (default: 'main')
limit (number): Max commits to return, 1-100 (default: 20)
offset (number): Commits to skip for pagination (default: 0)
response_format ('markdown' | 'json'): Output format (default: 'markdown')
Returns: For JSON format: { "path": string, "count": number, "commits": [{ "sha": string, "message": string, "author": string, "date": string, "url": string }], "has_more": boolean }
Examples:
Use when: "How has VARA_SPEC_1.0 evolved?" -> path="system-specs/VARA_SPEC_1.0.md"
Use when: "What's the recent commit lineage for the whole vault?" -> path=""
Don't use when: You need the full diff of one specific commit (use vault_get_commit instead)
Error Handling:
Returns "Error: ... not found" if the path or ref doesn't exist
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag, or commit SHA to read from (default: 'main') | main |
| path | No | File or directory path to trace lineage for. Empty string means whole-repo history. | |
| limit | No | Maximum commits to return | |
| offset | No | Number of most-recent commits to skip, for pagination | |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior, but the description adds substantial behavioral detail: it returns a list of commits with fields, supports pagination via offset, explains response_format options, and lists error handling ('Error: ... not found'). This goes well beyond the annotations by describing the exact behavior and output shape.
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 well-structured with clear sections (Args, Returns, Examples, Error Handling) and is front-loaded with the purpose. While it is fairly long, every section serves a purpose: documenting parameters, return format, and usage guidance. It is not bloated, but could be trimmed slightly without losing value, hence 4 rather than 5.
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 there is no output schema, the description compensates by specifying the exact JSON return structure. It covers all 5 parameters, provides usage examples, error cases, and pagination semantics. Nothing an agent needs to call this tool correctly is missing; it is complete for its complexity.
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 input schema covers 100% of parameters with descriptions, so baseline is 3. The description adds marginal value by clarifying parameter usage, e.g., that path='' means whole-repo history, offset is for pagination, and response_format controls output. It also gives concrete examples that illuminate parameter semantics. This nudges the score slightly above baseline.
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?
Description states a specific action ('Get the commit lineage') on a specific resource ('file or directory in canonical-vault') and immediately clarifies it returns every commit that touched that path, most recent first. It also explicitly differentiates from sibling tools, e.g., 'Don't use when... use vault_get_commit instead.' This makes its purpose unambiguous.
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 when-to-use examples ('How has VARA_SPEC_1.0 evolved?') and explicitly states when not to use it, referencing an alternative tool (vault_get_commit). It also notes default behavior for whole-repo history. This gives the agent actionable guidance on selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_list_directoryList Vault DirectoryARead-onlyIdempotent
List the files and subdirectories at a given path in the canonical-vault repository (kushkillerjsixx66/canonical-vault).
Args:
path (string): Directory path relative to repo root (default: "" for root)
ref (string): Branch, tag, or commit SHA (default: 'main')
response_format ('markdown' | 'json'): Output format (default: 'markdown')
Returns: For JSON format: { "path": string, "ref": string, "entries": [{ "name": string, "path": string, "type": "file"|"dir", "size": number }] }
Examples:
Use when: "What's in the governance directory?" -> path="governance"
Use when: "Show me the top-level structure of the vault" -> path=""
Don't use when: You need the actual contents of a file (use vault_get_file instead)
Error Handling:
Returns "Error: ... not found" if the path doesn't exist on that ref
Returns a rate limit message if GitHub's API limit is exceeded (set GITHUB_TOKEN to raise it)
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag, or commit SHA to read from (default: 'main') | main |
| path | No | Directory path within the repo, relative to root. Empty string means repo root. | |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds value beyond that by disclosing error messages ('Error: ... not found'), rate-limit behavior and the GITHUB_TOKEN tip, and the exact JSON return structure. While it repeats some annotation info, it contributes meaningful behavioral context.
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 organized into clear sections (Args, Returns, Examples, Error Handling) with a front-loaded purpose statement. Every sentence contributes: examples clarify usage, the 'Don't use when' routes to a sibling, and error handling preempts common failures. No fluff or 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?
For a list-directory tool with no output schema, the description provides everything an agent needs: the return format (JSON), error handling, rate-limit advice, and usage examples. It also differentiates from siblings. Open-world concerns like large results are partly addressed by the rate-limit note. Nothing critical is missing.
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 description coverage is 100%, so parameters are fully documented in the schema (defaults, descriptions, enum). The description repeats this information and adds usage examples ('governance' path) but does not introduce new semantic meaning not already in the schema. Baseline 3 is appropriate; the examples are marginal added value.
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 states a specific action and resource: 'List the files and subdirectories at a given path in the canonical-vault repository'. It explicitly names the sibling tool it is not (vault_get_file) and provides usage examples that clarify the exact scope. This clearly distinguishes it from the other siblings.
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?
It gives explicit when-to-use examples ('What's in the governance directory?') and an explicit when-not-to-use condition ('Don't use when: You need the actual contents of a file (use vault_get_file instead)'). This is the clearest possible guidance, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_search_filesSearch Vault FilesARead-onlyIdempotent
Search file names and contents across the canonical-vault repository (kushkillerjsixx66/canonical-vault) using GitHub code search.
Args:
query (string): Search terms. Supports GitHub code search qualifiers like 'path:governance' or 'extension:md'
limit (number): Max results, 1-50 (default: 20)
offset (number): Results to skip for pagination (default: 0)
response_format ('markdown' | 'json'): Output format (default: 'markdown')
Returns: For JSON format: { "total": number, "count": number, "results": [{ "path": string, "url": string }], "has_more": boolean }
Examples:
Use when: "Where is Coherence defined?" -> query="Coherence path:governance"
Use when: "Find every mention of vara.py" -> query="vara.py"
Don't use when: You already know the exact path (use vault_get_file instead)
Error Handling:
Returns "No files found matching ''" if the search returns empty
GitHub code search only indexes the default branch and repos under ~size limits; very new commits may lag briefly
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return | |
| query | Yes | Search terms to match against file contents/names (GitHub code search syntax supported, e.g. 'invariant path:governance') | |
| offset | No | Number of results to skip for pagination | |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses meaningful behavioral traits: GitHub code search limitations (only default branch, size limits, indexing lag), the exact error message when no results are found, and the return structure for JSON format. No contradictions with annotations exist.
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 well-structured with clear sections (Args, Returns, Examples, Error Handling) and is front-loaded with the core purpose. It repeats some schema details (like parameter defaults) but organizes them efficiently, and every sentence contributes useful information without being verbose or redundant.
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?
The description is complete for a search tool with pagination, multiple output formats, and external dependencies. It covers search syntax, pagination (offset), format handling, error messages, and known limitations. Since there is no output schema, it explicitly defines the JSON return structure, ensuring the agent knows exactly what to expect.
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 the schema already documents each parameter. However, the description adds value beyond the schema by supplying practical examples (e.g., 'path:governance' qualifier), clarifying pagination behavior via offset, and specifying what each response_format yields. This extends the schema's dry definitions with actionable context.
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 states a specific verb ('Search'), a clear resource ('file names and contents across the canonical-vault repository'), and the method ('using GitHub code search'). This distinguishes it from sibling tools like vault_list_directory or vault_get_file, which serve different actions. The purpose is unambiguous and directly informs the agent when to invoke this tool.
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 'Use when' and 'Don't use when' examples, including the exact condition for selecting an alternative (already knowing the exact path → use vault_get_file). It also gives concrete query examples and notes error handling, giving the agent clear decision criteria for when to apply this tool versus its siblings.
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.
5 tool updates
v1.0.0- First observed
vault_get_commit - First observed
vault_get_file - First observed
vault_get_file_history - First observed
vault_list_directory - First observed
vault_search_files
TDQS
Scored across 5 tools
Each tool has a distinctly separate purpose: listing a directory, reading a file, tracing commit history, inspecting a single commit, and searching the repository. The descriptions even include explicit 'Don't use when' guidance to prevent confusion.
All tools follow a uniform `vault_` prefix with a verb_noun pattern (list_directory, get_file, get_file_history, get_commit, search_files). Naming is idiomatic, consistent, and immediately signals the action and target.
Five tools is a well-scoped set for a read-only repository browsing server. Each tool covers a core operation without redundancy or bloat, making the surface easy to grasp and use.
For a read-only vault browsing use case, the set fully covers the necessary operations: navigating (list), reading content (get file), exploring change history (history/commit), and searching. There are no obvious missing capabilities that would block an agent.
Maintenance
Related MCP Connectors
Access the GitHub API, enabling file operations, repository management, search functionality, and…
GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)
Public read-only MCP server for Genvernium product and developer resources.
Public read-only MCP for products, frameworks, guides, methodology, and blog metadata.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables searching GitHub code with filters and reading arbitrary file contents from any repository via MCP.GPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables self-hosted, read-only remote interaction with GitHub repositories, allowing listing repositories, searching code, and inspecting commits, pull requests, issues, and diffs via authenticated MCP clients.1,973 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables read-only browsing and querying of GitHub repositories, including listing repos, reading files, fetching READMEs, searching code, and viewing commit history via MCP.-
- FlicenseNot gradedqualityAmaintenanceEnables MCP clients to extract and inspect GitHub repository information, including repository summaries, directory structure, and file contents.-