codepet-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@codepet-mcp-serverWhat am I working with?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Codepet MCP Server
A local MCP server that captures coding context, tracks developer sessions, and powers daily insights. Compatible with Claude Code, Cursor, VS Code, Windsurf, and any MCP-compliant client.
Built by MURROR.
Quick Start
1. Install
cd codepet-mcp-server
npm install
npm run build2. Connect to Your Editor
Claude Code — add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"codepet": {
"command": "node",
"args": ["/full/path/to/codepet-mcp-server/dist/index.js"]
}
}
}Cursor — add to .cursor/mcp.json in your project root:
{
"servers": {
"codepet": {
"command": "node",
"args": ["/full/path/to/codepet-mcp-server/dist/index.js"]
}
}
}VS Code / Windsurf — add to .vscode/mcp.json in your project root:
{
"servers": {
"codepet": {
"command": "node",
"args": ["/full/path/to/codepet-mcp-server/dist/index.js"]
}
}
}Replace /full/path/to/ with the actual path on your machine.
3. Verify It Works
Once connected, ask your AI assistant:
"Scan my project and tell me what I'm working with"
If Codepet responds with your project structure, languages, and dependencies — you're all set.
4. Test with Inspector (Optional)
npm run inspectOpens the MCP Inspector — a browser-based UI to test all tools and resources interactively.
Related MCP server: Vibgrate AI Context
Features Overview
What | How |
Scan your project structure | Ask AI: "What am I working with?" |
See recent git activity | Ask AI: "What did I commit today?" |
Check for build errors | Ask AI: "Are there any compiler errors?" |
Read any file with metadata | Ask AI: "Show me src/index.ts" |
Track skill progress | Ask AI: "How are my skills progressing?" |
Generate daily summary | Ask AI: "Generate my daily coding summary" |
Phase 1 — Context Capture
Tools
Tool | Description |
| Detect languages, frameworks, structure, and dependencies |
| Recent commits, diffs, branch info, activity patterns |
| Compiler errors, lint warnings, error→fix tracking |
Resources
URI | Description |
| Cached project fingerprint |
| Pet name, level, streak, skills |
| Contextual learning missions |
Phase 2 — Learning & Skill Mapping
Tools
Tool | Description |
| Read file with language detection, line ranges, and metadata |
| Aggregated learning progress: error patterns, streaks, skill tree XP, recommendations |
Resources
URI | Description |
| Skill tree progress mapped from coding activity (16 skills, 4 kingdoms) |
Skill Tree Mapping
Coding activity is automatically mapped to Codepet's 16 skills across 4 kingdoms:
Kingdom | Tier | Skills |
The Molten Forge | 1 — Foundations | Prompt Clarity, Error Reading, Tool Basics, Code Judgment |
The Frozen Spire | 2 — Context & Structure | Context Setting, AI Rules Files, Documentation, Project Structure |
The Eternal Garden | 3 — Advanced | Tool Switching, Scope Mgmt, Design System, Prompt Iteration |
The Mystic Grove | 4 — Expert | User Personas, Context Windows, AI Architecture, Second Brain |
Each skill has 5 levels. XP is earned automatically based on what you do — reading files, fixing errors, exploring projects, and using different tools all contribute to different skills.
Phase 3 — Daily Summaries + macOS App Integration
Tools
Tool | Description |
| LLM-powered daily summary with stats, narrative, and in-character pet reaction |
Resources
URI | Description |
| Today's daily summary (call |
macOS App Integration
The Codepet macOS app reads ~/.codepet/ data via MCPBridgeService.swift:
Polls every 30s for new events, summaries, and skill progress
Merges real coding XP into the app's progression system (with double-count prevention)
Updates pet mood and energy based on daily coding activity
Available as
@EnvironmentObjectthroughout the SwiftUI view hierarchy
Session Logger
Every tool call is automatically logged to ~/.codepet/ as JSON files, organized by date. This data powers daily summaries and skill tracking.
Setup
cd codepet-mcp-server
npm install
npm run buildAdd to Claude Code
// ~/.claude/claude_desktop_config.json
{
"mcpServers": {
"codepet": {
"command": "node",
"args": ["/path/to/codepet-mcp-server/dist/index.js"]
}
}
}Add to Cursor / VS Code
// .cursor/mcp.json or .vscode/mcp.json
{
"servers": {
"codepet": {
"command": "node",
"args": ["/path/to/codepet-mcp-server/dist/index.js"]
}
}
}Usage
Once connected, the AI client can call tools naturally:
"Scan my project and tell me what I'm working with" → calls
scan_project
"What did I commit today?" → calls
get_git_context
"Are there any build errors?" → calls
get_diagnostics
"Show me the contents of src/index.ts" → calls
get_file_content
"How am I progressing on my skills?" → calls
get_learning_context
Data Storage
All data is stored locally in ~/.codepet/:
~/.codepet/
├── events/
│ └── 2026-04-07.json # Today's tool call events
├── summaries/
│ └── 2026-04-07.json # Generated daily summaries
└── profile.json # User profile + cached project dataRoadmap
Phase 1:scan_project,get_git_context,get_diagnosticstools + resources✅Phase 2:get_file_content,get_learning_contexttools + skill tree mapping✅Phase 3: Daily summary generation (LLM-powered), Codepet macOS app integration✅Future: SQLite backend (better-sqlite3), real-time file watching, pet evolution
Troubleshooting
"Server not found" or tools don't appear: Make sure you ran npm run build and the path in your config points to dist/index.js (not src/index.ts). The path must be absolute.
No data in ~/.codepet/: The server only writes data when tools are called. Ask your AI to run scan_project or get_git_context to generate the first events.
Daily summary is empty: Run generate_daily_summary — it creates the summary on demand. It needs at least a few tool calls logged in today's events file to produce meaningful output.
macOS app doesn't show MCP data: The macOS app polls ~/.codepet/ every 30 seconds. Make sure the MCP server has been used at least once today so event files exist. Check the Xcode console for [MCPBridge] log messages.
Permission errors on ~/.codepet/: The server creates this directory automatically. If it fails, create it manually: mkdir -p ~/.codepet/events ~/.codepet/summaries
License
MIT — see the root LICENSE file.
Available Tools
8 toolsauto_fixA
Attempt to automatically fix a coding error detected by the diagnostic watcher.
Byte will try a pattern-based fix first (fast, no AI needed). If the error is too complex, Byte returns a structured AI fix request that can be sent to Claude for an intelligent fix.
Modes:
"suggest": Show the fix without applying it (default, safe)
"apply": Apply the fix directly to the file (use with care)
"apply_all": Fix all auto-fixable errors in the project
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Fix mode: suggest (preview), apply (write to file), or apply_all | suggest |
| file | No | File path to fix errors in (required for suggest/apply) | |
| line | No | Specific line number to fix (optional, fixes first error if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals the tool's two-step process (pattern-based first, then AI fix) and the effects of each mode, including warnings for 'apply' ('use with care') and 'apply_all' ('Fix all auto-fixable errors'). This adds useful context beyond just the action.
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 concise and well-structured. It opens with a clear purpose, then explains the two-step process, and finishes with a bullet list of modes. Every sentence adds value without 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?
The description adequately explains the tool's behavior for fixing errors but lacks details about the return value or output format (e.g., what is returned after a simple fix vs. a complex AI fix request). Since there is no output schema, the description should compensate, but it is somewhat incomplete regarding post-action results.
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 baseline is 3. The description adds no new meaning beyond what the schema already provides: it repeats the mode values, file requirement, and line optionality. No additional parameter semantics are introduced.
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 clearly states the tool's purpose: 'Attempt to automatically fix a coding error detected by the diagnostic watcher.' It specifies the verb 'fix' and the resource 'coding error'. The description also distinguishes from sibling tools like get_diagnostics and watch_diagnostics by focusing on the fix action rather than just viewing or monitoring.
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 explains the two approaches (pattern-based or AI fix) and the three modes (suggest, apply, apply_all). However, it does not explicitly state when to use this tool versus alternatives like get_diagnostics or scan_project. It implies it is for errors detected by the diagnostic watcher but lacks clear when-not or exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_daily_summaryB
Generate an LLM-powered daily coding summary with pet reaction. Aggregates session events, computes stats, and produces a natural language summary.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date to summarize (YYYY-MM-DD format, default: today) | |
| force | No | Force regeneration even if a cached summary exists (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It mentions LLM usage and aggregation of session events, but does not state whether the tool is read-only, destructive, or if it has side effects like caching. The cost of calling an LLM and potential dependencies are not addressed.
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 a single sentence with clear front-loading. However, the phrase 'with pet reaction' adds some ambiguity and could be considered extraneous. Overall it is concise but not maximally efficient.
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 lacks details about the output format (only 'natural language summary'), does not mention caching behavior, and does not specify prerequisites like existence of session events. Given the absence of an output schema, more context is needed.
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 both parameters described in detail. The description adds no additional meaning to the parameters, but baseline 3 is appropriate as the schema already provides sufficient semantics.
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 clearly states that the tool generates an LLM-powered daily coding summary with a pet reaction, specifying the verb 'Generate' and the resource 'daily coding summary'. This is distinct from sibling tools which focus on fixing, diagnostics, or retrieving 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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it uses cached summaries by default or that it should be called after session events are collected. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_diagnosticsA
Run project diagnostics to capture compiler errors, lint warnings, and test failures. Tracks error patterns over time to identify struggle points and learning opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to the project root directory | |
| toolchain | No | Toolchain to use for diagnostics (default: auto-detect) | auto |
| command | No | Custom command to run for diagnostics (overrides toolchain detection) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'tracks error patterns over time' implying persistence or state, but does not disclose side effects, data storage, permission requirements, or whether the tool is read-only. The lack of behavioral context is a gap.
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 two sentences with no fluff. It front-loads the action (run diagnostics) and resource (project), followed by value-add (tracking patterns). Every word earns its place.
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 the absence of an output schema, the description does not explain what the tool returns (e.g., list of errors, summary). It mentions tracking patterns but lacks detail on output format or structure. With 3 parameters and no output schema, more context is needed for completeness.
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 has 100% description coverage, so the baseline is 3. The description does not add significant extra meaning beyond what the schema already provides for parameters (path, toolchain, command). No additional context or clarifying examples.
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 uses specific verbs and resources ('Run project diagnostics') and clearly distinguishes from siblings like auto_fix and get_file_content. It explicitly mentions capturing compiler errors, lint warnings, and test failures, providing a clear purpose.
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 implies when to use (to capture errors and track patterns) but lacks explicit guidance on when not to use or alternatives. No comparison to siblings like scan_project or auto_fix, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_contentA
Read a file's contents with language detection, line numbers, and metadata. Supports reading specific line ranges.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to the file to read | |
| startLine | No | First line to return (1-based, default: 1) | |
| endLine | No | Last line to return (inclusive, default: end of file) | |
| projectRoot | No | Project root for computing relative path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool does language detection, returns line numbers and metadata, and supports line ranges. However, it does not mention safety, authentication, or performance characteristics.
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 two sentences, front-loaded with the main action, and every word adds value. No redundancy or fluff.
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 read tool without an output schema, the description explains the key return features (language detection, line numbers, metadata) and the line-range capability. It is mostly complete, though missing usage guidance slightly lowers the score.
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 parameters are fully described in the schema. The description adds no new meaning to parameters beyond what the schema already provides, so baseline score of 3 is appropriate.
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 'Read a file's contents' with specific features like language detection and line ranges. The verb 'Read' and resource 'file's contents' are precise, and the tool is clearly distinct from siblings like auto_fix or get_diagnostics.
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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention conditions or restrictions. There is no 'when not to use' or reference to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_git_contextA
Get git repository context including recent commits, branch info, diff stats, and activity patterns. Powers daily summaries of what the user built.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to the git repository root | |
| since | No | Time range for commit history (e.g., '24 hours ago', '7 days ago', '2026-04-07') | 24 hours ago |
| maxCommits | No | Maximum number of commits to retrieve (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as read-only or destructive nature, authentication requirements, rate limits, or performance implications. The description implies a read operation but does not confirm.
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 two sentences long, front-loaded with the action and resource, and contains no unnecessary words. Every sentence adds value.
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?
With 3 parameters, no output schema, and no annotations, the description is adequate but not fully complete. It covers what the tool returns but omits potential side effects, error conditions, or performance considerations. It is minimally viable for an agent to use correctly.
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 the schema already documents all parameters. The description adds no additional meaning beyond the parameter names and defaults. It provides a high-level context but no extra semantic detail.
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 clearly states the verb 'Get' and the resource 'git repository context', and lists specific items (commits, branch info, diff stats, activity patterns). This clearly differentiates it from siblings like 'get_learning_context' or 'get_diagnostics'.
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 mentions it 'powers daily summaries', which implies usage context, but it does not explicitly state when to use this tool versus alternatives (e.g., 'generate_daily_summary'). No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_learning_contextB
Get aggregated learning progress: error patterns, language activity, skill tree progress, streaks, and personalized recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back (default: 7, max: 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the output but fails to disclose behavioral traits such as authentication requirements, rate limits, or side effects. For a read-oriented tool, the transparency is lacking.
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 a single sentence that front-loads the action and lists key output components. It is concise with no filler, though the list format could be slightly clearer if broken into bullet points. Still, it earns its place.
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?
With no output schema, the description should fully explain return values. It lists high-level components but does not detail their structure or types. Adequate for simple use, but agents need more specifics to parse results reliably.
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 only parameter ('days') is fully documented in the input schema with description, min, and max. The tool description adds no additional meaning beyond the schema, meeting the baseline expectation for 100% schema coverage.
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 uses a specific verb ('Get') and resource ('aggregated learning progress') and lists concrete components (error patterns, language activity, skill tree progress, streaks, personalized recommendations), making the tool's purpose immediately clear and distinct from siblings like get_git_context or scan_project.
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?
No explicit guidance on when to use this tool versus alternatives (e.g., generate_daily_summary). The context is implied by the 'aggregated learning progress' focus, but there are no exclusion criteria or examples of appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_projectA
Scan a project directory to detect languages, frameworks, structure, and dependencies. Returns a project fingerprint used for context-aware coding assistance and skill tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to the project root directory | |
| maxDepth | No | Maximum directory depth to scan (default: 6) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It indicates the tool scans a directory and returns a fingerprint, suggesting a read-only operation. However, it does not mention potential side effects, performance considerations (e.g., depth limits), or required permissions. The behavioral disclosure is minimal and insufficient for an unannotated tool.
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?
Two concise sentences efficiently convey the tool's purpose and return value. No extraneous words; every sentence serves a clear function.
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?
With only 2 parameters and no output schema, the description adequately explains the tool's input (path and depth) and output (project fingerprint). It could be more specific about the structure of the fingerprint, but given the low complexity, it is sufficiently complete for an agent to understand the tool.
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% (both 'path' and 'maxDepth' are described). The description adds no new meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
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 clearly states the tool scans a project directory to detect languages, frameworks, structure, and dependencies, returning a project fingerprint. It uses a specific verb ('scan') and resource ('project directory'), effectively distinguishing it from sibling tools like 'get_file_content' or 'get_git_context'.
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 implies the tool is for obtaining a project overview for context-aware assistance but does not explicitly state when to use it versus alternatives like 'get_git_context' for git-specific info or 'get_file_content' for single files. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_diagnosticsA
Real-time diagnostic watcher — monitors your project for errors as you code. Start the watcher, query current errors, or get a full scan.
Actions:
"start": Begin watching a project directory for file changes
"stop": Stop the watcher
"status": Get current watcher state and recent errors
"scan": Run a one-time full diagnostic scan (no persistent watching)
Works with: TypeScript, Swift, Python, ESLint, and any language with a CLI linter. Platform-agnostic: works with any editor that saves to disk.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | What to do: start watching, stop watching, check status, or run a one-time scan | |
| path | No | Absolute path to the project root (required for 'start' and 'scan') | |
| file | No | Optional: get diagnostics for a specific file only (with 'status') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the watcher behavior, actions, language support, and platform-agnostic nature. It does not disclose potential performance impacts or what happens to previous watcher state, but overall transparent.
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 concise with a clear summary of actions and supported languages. It could be more structured (e.g., bullet points for actions), but every sentence adds value with minimal 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?
Given no output schema and sibling tools, the description adequately covers actions and supported languages but lacks details on return values, error handling, or edge cases like timeouts or concurrent watchers.
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?
Input schema has 100% coverage; description adds context like 'required for start and scan' for the path parameter, but doesn't add significant meaning beyond what the schema already provides for action and file parameters.
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 clearly states it's a real-time diagnostic watcher for monitoring errors, listing actions like start, stop, status, scan. It differentiates from siblings like 'get_diagnostics' and 'scan_project' by focusing on persistent watching, but doesn't explicitly contrast them.
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 explains when to use each action (start, stop, status, scan) and the required path for start and scan. However, it lacks explicit guidance on when NOT to use this tool or alternatives from 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. Dates show when Glama detected each change.
8 tool updates
v0.3.0- First observed
auto_fix - First observed
generate_daily_summary - First observed
get_diagnostics - First observed
get_file_content - First observed
get_git_context - First observed
get_learning_context - First observed
scan_project - First observed
watch_diagnostics
TDQS
Each tool has a clearly distinct purpose: auto-fixing errors, generating summaries, running diagnostics, reading files, getting git context, learning progress, project scanning, and watching diagnostics. No overlap or ambiguity.
All tool names use consistent snake_case with a verb_noun pattern (e.g., auto_fix, get_diagnostics, scan_project). No mixed conventions or vague names.
8 tools is well-scoped for a coding assistant with pet features. Each tool serves a specific function without redundancy, covering diagnostics, file access, git, learning, and automation.
The tool set covers core functionalities: diagnostics, file reading, git context, learning progress, project scanning, and auto-fix. Minor gaps like user interaction or manual notes, but overall sufficient for the domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
A MCP server built for developers enabling Git based project management with project and personal…
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Related MCP Servers
- AlicenseBqualityBmaintenanceLocal MCP server providing project cognition capabilities for AI coding agents, including context packs, impact analysis, and git diff review through stdio communication.103MIT

Vibgrate AI Contextofficial
AlicenseNot gradedqualityAmaintenanceLocal-first MCP server that gives AI assistants codebase intelligence—code graph, drift analysis, vulnerability attribution, and version-correct library docs—all from the user's machine.1,5293Apache 2.0- AlicenseNot gradedqualityAmaintenanceMCP server that captures and resumes coding context, saving snapshots of branch, open files, diff, and the user's hypothesis, with searchable journal and gap-filling exploration.1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that provides coding agents with structured repository context, including graph-based navigation, dependency analysis, runtime flow tracing, and configuration surface across supported stacks.55MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/My-Outcasts/codepet-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server