Verdent provides multiple ways to customize behavior and extend capabilities to match your workflow and security requirements.
Extensibility Overview
| Method | Best For | Configuration |
|---|
| Permissions | Block dangerous commands | Settings → Permissions |
| User Rules | Personal coding preferences | Settings → User Rules |
| Project Rules | Team conventions | AGENTS.md in project root |
| MCP Servers | External tools, databases, APIs | Settings → MCP Servers |
Permissions
Configure command permissions and security rules in Settings → Permissions.
Deny Rules
Deny rules prevent potentially dangerous commands from being executed. Verdent blocks most dangerous commands by default, but you can add additional rules.
Access: Settings → Permissions → Deny Rules
Enter one rule per line. Deny rules take precedence over allow rules.
Rule Syntax:
- Use
* as a wildcard to match any characters
- Rules are case-sensitive
- Each line represents a separate rule
- Empty lines are ignored
Common Patterns:
| Pattern | Purpose |
|---|
rm -rf /* | Prevent recursive deletion from root |
curl * | *sh* | Block piping downloaded scripts to shell |
dd * of=/dev/sd* | Prevent disk overwrite operations |
When Verdent attempts to execute a command that matches a deny rule, it will be blocked for your safety.
MCP Configuration
Understanding MCP
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. MCP servers are executables that implement the protocol. They’re not database connections or API endpoints, but programs that run and communicate via JSON-RPC 2.0.
Key Concepts:
- MCP Servers: Executables (Node.js packages, Python scripts, etc.) that implement the MCP protocol
- Configuration: Settings → MCP Servers defines how to start each server
- Tools: MCP servers provide tools that Verdent can use during conversations
Basic Setup
Location: Settings → MCP Servers
Configure MCP servers with:
- Command: Executable to run (typically
npx for Node.js packages)
- Args: Arguments passed to the command (package name, connection strings, etc.)
- Env: Environment variables for authentication/configuration
Common MCP Servers:
| Server | Purpose |
|---|
@modelcontextprotocol/server-postgres | PostgreSQL database access |
@modelcontextprotocol/server-github | GitHub repository integration |
@modelcontextprotocol/server-filesystem | File system operations |
Common Integration Patterns
Database Development Workflow
Stack: PostgreSQL MCP Server + AGENTS.md Standards
AGENTS.md:
## Database Standards
- Review migrations for destructive operations
- Test on staging before production
- Include rollback procedures
Workflow: Write migration → Verdent validates using MCP tools → Test on staging → PR documentation
Multi-Environment Configuration
Configure multiple MCP servers for different environments in Settings → MCP Servers:
| Server Name | Purpose |
|---|
postgres-dev | Development database |
postgres-staging | Staging environment |
postgres-prod | Production (read-only recommended) |
Best Practice: Use environment variables for connection strings to keep credentials secure.
Workspace Integration
Per-Workspace Configuration
Each workspace can use the same MCP servers configured in Settings:
| Configuration | Behavior |
|---|
| Global MCP servers | Available across all workspaces |
| Project-specific rules | AGENTS.md in project root |
Multi-Project Integration
When working with multiple projects:
- Global MCP servers (Settings → MCP Servers) available across all projects
- Each project can have its own AGENTS.md for project-specific rules
- Switch between projects while maintaining MCP access
Team Collaboration
Shared AGENTS.md Standards
Commit to version control for team-wide consistency:
# AGENTS.md
## Code Review Process
- Run Code Review before PR (Settings → Auto Generate Code Review)
- Address all security warnings
- Minimum 80% test coverage
## Database Changes
- Review migrations for destructive operations
- Test on staging before production
## MCP Server Usage
- Use postgres-staging for queries
- Never use postgres-prod for exploratory queries
Benefits: Consistent behavior, enforced standards, automatic quality gates.
Complex Feature Workflow
Example: New database feature
1. Developer request → 2. Verdent generates code →
3. Database schema validation using PostgreSQL MCP →
4. Test on staging →
5. Verdent generates tests and PR
Result: Fully reviewed feature with database best practices applied.
Best Practices
Progressive Adoption
Phase 1: Start with basic rules in AGENTS.md
## Code Standards
- Use TypeScript strict mode
- Run tests before commit
Phase 2: Add MCP servers (Settings → MCP Servers)
{
"mcpServers": {
"postgres-staging": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:password@staging-db:5432/myapp"
]
}
}
}
Phase 3: Define MCP usage guidelines in AGENTS.md
## MCP Usage
- Use postgres-staging for queries
- Never use postgres-prod for exploratory queries
Strategic Combinations
| Combination | Purpose | Example |
|---|
| Rules + MCP | Rules define when, MCP provides tools | AGENTS.md defines standards, MCP executes checks |
| Multiple MCPs | Different servers for different concerns | Security + Database + API testing |
Troubleshooting
Permission Issues
AGENTS.md Issues
MCP Server Issues
Problem: Command unexpectedly blockedCheck:
- Review deny rules in Settings → Permissions
- Check if pattern matches unintended commands
- Verify wildcard usage is correct
Solution: Refine deny rule pattern to be more specific Problem: AGENTS.md rules not being appliedCheck:
- Location: File is in project root directory
- Syntax: Valid Markdown with no parsing errors
- Directive Style: Use specific commands (“Always use…” not “Try to…”)
- Session: Start new conversation to test fresh rule application
Problem: MCP server fails to start or connectCheck:
- Configuration: Server configured correctly in Settings → MCP Servers
- Command: Executable path is correct
- Args: Arguments are properly formatted
- Environment: Required environment variables are set
Debug Steps:
- Test command manually in terminal:
npx -y @modelcontextprotocol/server-postgres "postgresql://..."
- Check environment variables are set
- Review Verdent logs for specific error messages
See Also