SlopWatch MCP Server
Provides tracking and verification of Express.js middleware implementations, including features like rate limiting for API endpoints
Mentioned as a planned roadmap feature for commit verification integration
Provides issue tracking, documentation and community discussion functionality through GitHub repositories
Offers verification capabilities for React component implementations, including tracking of responsive design and styling changes
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., "@SlopWatch MCP Servercheck if the AI actually added the error handling it promised to the login function"
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.
🎯 SlopWatch - AI Accountability MCP Server
Stop AI from lying about what it implemented! Track what AI claims vs what it actually does.
🚀 What's New in v2.7.0
✨ Ultra-Minimal Responses - 90% less verbose output
🔄 Combined Tool - Single call instead of 2 separate tools
⚡ Seamless Workflow - Perfect for AI pair programming
🎯 Cursor MCP Compatible - Works seamlessly with Cursor IDE
Related MCP server: casuallayer-mcp
🤔 Why SlopWatch?
Ever had AI say "I've added error handling to your function" but it actually didn't? Or claim it "implemented user authentication" when it just added a comment?
SlopWatch catches AI lies in real-time.
⚡ Quick Start
🎯 Option 1: Smithery (Easiest - 1 click install)
Click "Install to Cursor" or "Install to Claude"
Done! ✨
Smithery handles hosting, authentication, and updates automatically
🔧 Option 2: NPM Direct (Manual Setup)
For Cursor IDE:
{
"mcpServers": {
"slopwatch": {
"command": "npx",
"args": ["slopwatch-mcp-server"]
}
}
}Manual Cursor Setup:
Open Cursor Settings (
Cmd+Shift+Jon Mac,Ctrl+Shift+Jon Windows)Go to Features → Model Context Protocol
Click "Add New MCP Server"
Configure:
Name: SlopWatch
Type: stdio
Command:
npx slopwatch-mcp-server
For Claude Desktop:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"slopwatch": {
"command": "npx",
"args": ["slopwatch-mcp-server"]
}
}
}Global NPM Install:
npm install -g slopwatch-mcp-server🎮 How to Use
Method 1: Combined Tool (Recommended ⭐)
Perfect for when AI implements something and you want to verify it:
// AI implements code, then verifies in ONE call:
slopwatch_claim_and_verify({
claim: "Add input validation to calculateSum function",
originalFileContents: {
"utils/math.js": "function calculateSum(a, b) { return a + b; }"
},
updatedFileContents: {
"utils/math.js": "function calculateSum(a, b) {\n if (typeof a !== 'number' || typeof b !== 'number') {\n throw new Error('Invalid input');\n }\n return a + b;\n}"
}
});
// Response: "✅ PASSED (87%)"Method 2: Traditional 2-Step Process
For when you want to claim before implementing:
// Step 1: Register claim
slopwatch_claim({
claim: "Add error handling to user login",
fileContents: {
"auth.js": "function login(user) { return authenticate(user); }"
}
});
// Response: "Claim ID: abc123"
// Step 2: Verify after implementation
slopwatch_verify({
claimId: "abc123",
updatedFileContents: {
"auth.js": "function login(user) {\n try {\n return authenticate(user);\n } catch (error) {\n throw new Error('Login failed');\n }\n}"
}
});
// Response: "✅ PASSED (92%)"🛠️ Available Tools
Tool | Description | Response |
| ⭐ Recommended - Claim and verify in one call |
|
| Get your accountability stats |
|
| Generate .cursorrules for automatic enforcement | Minimal rules content |
🎯 Cursor IDE Integration
SlopWatch is designed specifically for Cursor IDE and AI pair programming:
Automatic Detection
Detects when AI claims to implement features
Automatically suggests verification
Integrates seamlessly with Cursor's Composer
Smart Workflow
1. AI: "I'll add error handling to your function"
2. SlopWatch: Automatically tracks the claim
3. AI: Implements the code
4. SlopWatch: Verifies implementation matches claim
5. Result: ✅ PASSED (92%) or ❌ FAILED (23%)Perfect for:
Code reviews - Verify AI actually implemented what it claimed
Pair programming - Real-time accountability during development
Learning - Understand what AI actually does vs what it says
Quality assurance - Catch implementation gaps before they become bugs
💡 Real-World Examples
Example 1: API Endpoint Enhancement
// AI says: "I'll add rate limiting to your API endpoint"
slopwatch_claim_and_verify({
claim: "Add rate limiting middleware to /api/users endpoint",
originalFileContents: {
"routes/users.js": "app.get('/api/users', (req, res) => { ... })"
},
updatedFileContents: {
"routes/users.js": "const rateLimit = require('express-rate-limit');\nconst limiter = rateLimit({ windowMs: 15*60*1000, max: 100 });\napp.get('/api/users', limiter, (req, res) => { ... })"
}
});
// Result: ✅ PASSED (94%)Example 2: React Component Update
// AI claims: "Added responsive design with CSS Grid"
slopwatch_claim_and_verify({
claim: "Make UserCard component responsive using CSS Grid",
originalFileContents: {
"components/UserCard.jsx": "const UserCard = () => <div className=\"user-card\">...</div>"
},
updatedFileContents: {
"components/UserCard.jsx": "const UserCard = () => <div className=\"user-card grid-responsive\">...</div>",
"styles/UserCard.css": ".grid-responsive { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }"
}
});
// Result: ✅ PASSED (89%)📊 Accountability Stats
Track your AI's honesty over time:
slopwatch_status();
// Returns: "Accuracy: 95% (19/20)"Accuracy Score: Percentage of claims that were actually implemented
Claim Count: Total number of implementation claims tracked
Success Rate: How often AI delivers what it promises
🔧 Advanced Configuration
Auto-Enforcement with .cursorrules
Generate automatic accountability rules:
slopwatch_setup_rules();This creates a .cursorrules file that automatically enforces SlopWatch verification for all AI implementations.
Custom Verification
SlopWatch analyzes:
File changes - Did the files actually get modified?
Code content - Does the new code match the claim?
Implementation patterns - Are the right patterns/libraries used?
Keyword matching - Does the code contain relevant keywords?
🚀 Why Choose SlopWatch?
For Developers:
Catch AI lies before they become bugs
Learn faster by seeing what AI actually does
Improve code quality through automatic verification
Save time with streamlined accountability
For Teams:
Standardize AI interactions across team members
Track AI reliability over time
Reduce debugging from AI implementation gaps
Build trust in AI-assisted development
For Cursor Users:
Native integration with Cursor's Composer
Seamless workflow - no context switching
Real-time feedback during development
Ultra-minimal responses - no verbose output
🎯 Getting Started with Cursor
Install SlopWatch using one of the methods above
Open Cursor and start a new chat with Composer
Ask AI to implement something: "Add input validation to my function"
Watch SlopWatch work: It automatically tracks and verifies the claim
Get instant feedback: ✅ PASSED (87%) or ❌ FAILED (23%)
🔍 Troubleshooting
Common Issues:
Tools not showing: Restart Cursor after installation
Verification failed: Check if files were actually modified
NPM errors: Try
npm cache clean --forceand reinstall
Debug Mode:
Enable detailed logging by setting DEBUG=true in your environment.
📈 Roadmap
Visual dashboard for accountability metrics
Integration with Git for commit verification
Team analytics for multi-developer projects
Custom verification rules for specific frameworks
IDE extensions for other editors
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📝 License
MIT License - see LICENSE for details.
🌟 Support
GitHub Issues: Report bugs or request features
Documentation: Full docs and examples
Community: Join the discussion
Made with ❤️ for the Cursor community
Stop AI from lying about what it implemented. Start using SlopWatch today!
Available Tools
3 toolsslopwatch_claim_and_verifyC
Register claim and verify implementation in one call - reduces from 2 tool calls to 1
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | What you implemented | |
| originalFileContents | Yes | Original content of files before implementation (filename -> content) | |
| updatedFileContents | Yes | Updated content of files after implementation (filename -> content) |
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 of behavioral disclosure. It states the tool performs 'register claim and verify implementation', which suggests a mutation operation, but doesn't disclose any behavioral traits such as side effects, error handling, permissions required, or what 'verification' entails. The description is too brief to provide meaningful context beyond the basic operation.
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 extremely concise with only one sentence that directly states the tool's purpose and benefit. It is front-loaded with no wasted words, making it easy to parse quickly. Every part of the sentence earns its place by conveying key information efficiently.
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 complexity implied by a combined 'register and verify' operation with 3 parameters (including nested objects) and no annotations or output schema, the description is insufficient. It lacks details on what the tool actually does, how verification works, what happens on success/failure, or any domain context. The description does not compensate for the missing structured data, making it incomplete for effective use.
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%, with clear descriptions for all 3 parameters (claim, originalFileContents, updatedFileContents). The description adds no additional parameter semantics beyond what the schema provides, such as format details or examples. Given the high schema coverage, the baseline score of 3 is appropriate as the schema handles the documentation adequately.
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 the tool 'registers claim and verifies implementation in one call', which indicates a combined operation. However, it's vague about what 'claim' and 'verification' specifically entail, and it doesn't clearly distinguish this tool from its siblings (slopwatch_setup_rules, slopwatch_status) beyond mentioning it reduces from 2 tool calls to 1. The purpose is understandable but lacks specificity about the resource or domain 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 mentions that this tool 'reduces from 2 tool calls to 1', implying it should be used as a combined alternative to separate operations. However, it doesn't specify what those 2 tool calls are, when to prefer this over them, or any prerequisites. No explicit when/when-not guidance or alternatives are provided, leaving usage context unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slopwatch_setup_rulesC
Generate .cursorrules file with AI accountability enforcement
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Path to project directory where .cursorrules should be created | |
| overwrite | No | Whether to overwrite existing .cursorrules file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions the tool 'generates' a file, implying a write operation, but doesn't specify permissions needed, side effects, or what 'AI accountability enforcement' entails. The description lacks details on file format, success/failure conditions, or any behavioral traits beyond the basic 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance. Every part of the sentence contributes to clarifying the tool's 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?
Given the complexity of generating a configuration file with 'AI accountability enforcement' and no annotations or output schema, the description is incomplete. It doesn't explain what the generated file contains, how it enforces accountability, or what the tool returns. This leaves significant gaps for an agent to understand the tool's full context and behavior.
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 both parameters ('project_path' and 'overwrite') thoroughly. The description adds no additional meaning or context about parameters beyond what's in the schema, such as path format examples or implications of overwriting. This meets the baseline for high 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 clearly states the tool's purpose: 'Generate .cursorrules file with AI accountability enforcement'. It specifies the verb ('Generate'), resource ('.cursorrules file'), and purpose ('AI accountability enforcement'), making the function unambiguous. However, it doesn't differentiate from sibling tools like 'slopwatch_claim_and_verify' or 'slopwatch_status', which prevents a perfect score.
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. There's no mention of prerequisites, appropriate contexts, or comparisons with sibling tools. The only implied usage is when needing to create a .cursorrules file, but this is too vague for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slopwatch_statusB
Get current slop score and statistics
| Name | Required | Description | Default |
|---|---|---|---|
| random_string | Yes | Dummy parameter for no-parameter tools |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation ('Get'), but doesn't specify whether this requires authentication, has rate limits, returns real-time or cached data, or what format the statistics include. For a tool with zero annotation coverage, this leaves significant gaps in understanding its 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 a single, efficient sentence with no wasted words. It's front-loaded with the core purpose ('Get current slop score and statistics'), making it easy to parse quickly. Every word earns its place in this concise formulation.
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 lack of annotations and output schema, the description is incomplete for a tool that presumably returns data. It doesn't explain what 'slop score' means, what statistics are included, or the format of the response. For a read operation with no structured output documentation, the description should provide more context to be fully helpful.
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, documenting the single parameter as a 'Dummy parameter for no-parameter tools.' The description doesn't add any parameter details beyond this, but since the schema fully covers the parameter and it's a dummy placeholder, the baseline is high. A score of 4 reflects that the description doesn't detract from the schema's clarity for this simple case.
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 with a specific verb ('Get') and resource ('current slop score and statistics'), making it immediately understandable. However, it doesn't explicitly differentiate this read-only status tool from its sibling tools (slopwatch_claim_and_verify and slopwatch_setup_rules), which appear to involve write operations, so it falls short of a perfect score.
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 its siblings or in what context. It lacks any mention of prerequisites, alternatives, or exclusions, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose with no overlap: one handles claim registration and verification, another generates configuration files, and the third retrieves status metrics. The descriptions make it easy to differentiate their functions, eliminating any risk of misselection.
All tool names follow a consistent 'slopwatch_verb_noun' pattern (e.g., slopwatch_claim_and_verify, slopwatch_setup_rules, slopwatch_status). This uniformity makes the set predictable and easy to navigate, with no deviations in style or structure.
With 3 tools, the count is slightly low but reasonable for a server focused on AI accountability and slop scoring. Each tool serves a distinct, essential function, though the scope might feel thin if more operations are expected in this domain.
The tools cover core workflows: setup (rules generation), claim handling (registration and verification), and monitoring (status retrieval). Minor gaps might exist, such as tools for updating rules or detailed analytics, but the surface supports basic operations without dead ends.
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
Independent effect verification and signed receipts for consequential AI agent actions.
Accountable AI workforce workflows with jobs, skills, rules, evidence, and mentoring.
Independent AI-agent reviews: trust checks, evidence scorecards, incident registry, recommendations.
Verifier-grounded AI promotion gates, disposable report cards, and signed PASS/HOLD/BLOCK receipts.
Related MCP Servers
- AlicenseAqualityDmaintenanceAudit infrastructure for AI agents to log consequential decisions (invoice, GL, anomaly) and verify attestations via MCP tools.6MIT
- AlicenseNot gradedqualityCmaintenanceDeterministic AI liability attribution engine. Scores fault across AI supply-chain participants (deployer, developer, vendor) with tamper-evident certificates and weekly cryptographic anchoring.’562Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMakes AI research agents accountable by giving every conclusion a traceable argument graph. Provides a persistent argument graph where claims require grounds and warrants for auditable, verifiable reasoning.2MIT
- AlicenseAqualityAmaintenanceTracks architectural decisions with testable predictions, outcome validation, and in-band feedback nudges to close decision loops for AI agents and teams.4MIT
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/JoodasCode/SlopWatch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server