An MCP server that provides coding guidelines and best-practice references for over 130 programming languages, frameworks, and tools. It allows AI agents to access structured documentation to ensure code quality and adherence to standards during development.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by delian
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
# Codeguide MCP Server
This MCP server provides **mandatory** coding guidelines and best practices. The guides define coding standards that **must be followed** when writing, reviewing, or modifying code.
## Read on principle: the workflow guide
Before starting **any non-trivial task** (3+ steps, a new module/algorithm, a refactor, or any behavior change), fetch and apply **`guides://agentic-workflow.md`** as a standing instruction — read it *on principle*, not only when asked. It is the canonical owner of **how you work**: plan-first and re-plan on drift, subagent use and parallel **git-worktree isolation**, the lessons-learned loop (read `docs/lessons.md` before, record corrections after), verification-before-done with an independent second-model **rubber-duck review**, task/checkbox + changelog + docs tracking, configurable constants, and externalized LLM prompts. The language/framework/tool guides govern *what* you write; `agentic-workflow.md` governs *how*. A project's own `CLAUDE.md` / `AGENTS.md` / `CLAUDE.local.md` are authoritative and override it where they differ.
## When to Use
**Before writing or modifying code**, fetch the relevant guides for the project's languages, frameworks, and tools. Apply their standards as mandatory rules — not optional suggestions.
Typical triggers:
- Starting a new coding task or feature
- Reviewing or refactoring existing code
- Setting up a new project
- When the user asks about coding standards or best practices
- When there is an explicit request
---
## How to Use This Server (MCP Client)
The server exposes **resources** and **one tool**. Use standard MCP operations: **ListResources**, **ListResourceTemplates**, **ReadResource**, **ListTools**, and **CallTool**.
### Step 1: Discover guides (always do this first)
- **Read the resource** with URI **`guides://list`**.
- This returns a text list of all available guides.
- Each line has the form: `guide_name.md - brief description`
- Use this list to choose which guides apply to the project (e.g. `python.md`, `rest.md`, `dockerfile.md`).
Alternatively, you can use **ListResources** to see that `guides://list` is available, and **ListResourceTemplates** to see that `guides://{guide_name}` is available.
### Step 2: Get full content for each guide you need
For each selected guide, get its full content using **either**:
- **ReadResource** with URI **`guides://{guide_name}`**
Example: read resource **`guides://python.md`** (use the exact filename from the list, including `.md`).
- **CallTool** with tool name **`get_guide`** and arguments **`{"guide_name": "guide_name.md"}`**
Example: call tool **`get_guide`** with **`{"guide_name": "python.md"}`**.
Both return the full markdown content of the guide. Use one or the other; no need to use both for the same guide.
### Step 3: Follow references (MANDATORY)
Guides are deliberately small: they do **not** duplicate shared content. Instead they **reference** other guides that own a cross-cutting concern (TDD, hexagonal architecture, secure coding, error handling, logging, configuration, etc.). You **MUST** follow those references — a guide is incomplete without them.
When a guide you fetched contains a reference marker, act on it:
- **📎 REQUIRED** — You **MUST** fetch and apply the linked guide **before writing any code**. It is a hard prerequisite; the referencing guide assumes its rules and does not restate them. Skipping it means you are violating mandatory standards.
- **📎 RECOMMENDED** — You **MUST** fetch and apply the linked guide **if the current task touches that concern** (e.g. fetch `logging.md` when the task involves logging).
- **📎 SEE ALSO** — Optional; fetch for additional depth when useful.
Reference targets appear as `guides://<name>.md` links (e.g. `guides://tdd.md`). Resolve each one with **ReadResource** or the **`get_guide`** tool, exactly as in Step 2. Follow references **transitively** — if a referenced guide has its own REQUIRED references, fetch those too. Fetch each guide only once per task and reuse it.
A guide's machine-readable prerequisites are also listed in its YAML frontmatter under `requires:` (must fetch) and `recommends:` (fetch when relevant); the `name` values map to `<name>.md`. Use these to plan which guides to pull up front.
### Step 4: Apply the guidelines
Follow the fetched guidelines — and every guide they REQUIRED/RECOMMENDED you to fetch — as mandatory standards when writing, reviewing, or modifying code. If multiple guides apply, follow all of them. Each guide also contains an auditable requirements table (IDs like `PY-TST-01`) with verification commands and pass/fail gates: satisfy every gate before presenting code. Treat the guides like project AGENTS.md or Skills.
---
## API Reference
### Resources
| URI | Description |
|-----|-------------|
| **`guides://list`** | Single resource. Read it to get a plain-text list of all guides. Each line: **`guides://guide_name.md - brief description`**. The first token is the resource URI you can pass to ReadResource. |
| **`guides://{guide_name}`** | Resource template. Read a specific guide by URI, e.g. **`guides://python.md`**, **`guides://rest.md`**. Use the exact URI from the list (first token of each line). |
- Use **ReadResource** with the URI to get content. The list from `guides://list` returns full URIs (e.g. `guides://python.md`) so you can use each line’s first token directly as the ReadResource URI.
- Guide names/URIs must be exact (e.g. `guides://python.md` not `Python.md`). No path segments: only a single filename in the URI, like `guides://docker-compose.md`.
### Tools
| Name | Description | Arguments |
|------|-------------|-----------|
| **`get_guide`** | Returns the full content of a specific coding guide. | **`guide_name`** (string, required): exact filename (e.g. `"python.md"`) or full URI (e.g. `"guides://python.md"`). Either form is accepted. |
- Use **CallTool** with name **`get_guide`** and arguments **`{"guide_name": "guides://python.md"}`** or **`{"guide_name": "python.md"}`**.
---
## List output format (`guides://list`)
The list is plain text, one guide per line:
```
guides://guide_name.md - brief description extracted from the guide
```
- **guides://guide_name.md**: full resource URI. Use this string as the URI for **ReadResource** to fetch the guide, or pass it (or just `guide_name.md`) to the **get_guide** tool.
- **brief description**: short summary (up to ~250 characters) of what the guide covers.
---
## Error handling
- **Guide not found**: Use the exact name from `guides://list` (including `.md`). Names are case-sensitive.
- **Invalid guide name**: Do not use path segments, backslashes, or `..`. Use only a single filename, e.g. `python.md`.
- **Empty list from `guides://list`**: The server may be offline or unable to reach the guide source. Retry later or proceed with general best practices.
- **Multiple guides**: Fetch each guide separately (one ReadResource or one CallTool per guide).
Tools
1 advertised
get_guide
Advertised by the server during the last successful anonymous check.
Advertised by the server during the last successful anonymous check.
List all available coding guides.
No arguments advertised.
get_guide
Advertised by the server during the last successful anonymous check.
Get the content of a specific coding guide.
guide_name
No description (required)
help
Advertised by the server during the last successful anonymous check.
Get help information about available resources and tools.
No arguments advertised.
security_check
Advertised by the server during the last successful anonymous check.
Check if the MCP server is secure and not exposing sensitive information.
No arguments advertised.
exit
Advertised by the server during the last successful anonymous check.
Exit the MCP server.
No arguments advertised.
clear_cache
Advertised by the server during the last successful anonymous check.
Clear the local cache of guides.
No arguments advertised.
bug_hunt
Advertised by the server during the last successful anonymous check.
Thorough bug-hunting session — read recent lessons, hunt and prevent bugs, add regression tests, update the lessons docs.
No arguments advertised.
check_code_compliance
Advertised by the server during the last successful anonymous check.
Check if the code complies with the coding standards.
No arguments advertised.
check_code_quality
Advertised by the server during the last successful anonymous check.
Check if the code complies with the quality standards.
No arguments advertised.
check_security
Advertised by the server during the last successful anonymous check.
Check if the code complies with the security standards.
No arguments advertised.
deduplicate_code
Advertised by the server during the last successful anonymous check.
Find and safely refactor duplicated/abstractable code across the whole repo (any language or infra), then record the lessons.
No arguments advertised.
update_dependencies
Advertised by the server during the last successful anonymous check.
Check for outdated dependencies and propose updates.
No arguments advertised.
Resources
1 advertised
list_guides
Advertised by the server during the last successful anonymous check.
List all available coding guides.
Fetches from GitHub if network is available, otherwise uses local cache.
Returns:
A string containing a list of available guides.
list_guides URI
guides://list
MIME type: text/plain
guide
Advertised by the server during the last successful anonymous check.
Get the content of a specific coding guide by name (e.g. python.md).
guide URI template
guides://{guide_name}
MIME type: text/plain
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
Too few checks for a percentage yet (2 of 2 answered).
2026-11-06: 1 of 1 checks answered
2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
Successful checks
1 of 1 (100%)
Average latency
1123 ms
95th percentile latency
1123 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
· probe · passed · 1123 ms · metadata changed · 1 tool(s), 1 resource(s), 1 resource template(s), 12 prompt(s); warnings: Does not report a server version
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.
Claude Code
Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http codeguide-mcp-run https://codeguide-mcp-86057491046.europe-west1.run.app/mcp
Codex
Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Find servers like CodeGuide MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.