Guarded MCP Agent
Click on "Deploy 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., "@Guarded MCP Agentcreate note title: Meeting notes content: Discussed Q3 goals"
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.
Run Locally
Prerequisites
Python 3.10+
Node.js 18+
Step 1 — Install Python dependencies
cd Assignment
pip install -r requirements.txtStep 2 — Install frontend dependencies
cd frontend
npm installStep 3 — Start MCP Notes Server (Terminal 1)
cd Assignment
python -m backend.custom_mcp.notes_serverRuns at http://127.0.0.1:8002/mcp
Step 4 — Start Backend (Terminal 2)
cd Assignment
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000Runs at http://localhost:8000
Step 5 — Start Frontend (Terminal 3)
cd frontend
npm run devRuns at http://localhost:5173
Related MCP server: mcp-server-example
Testing the Agent
Type these in the Chat box on the dashboard:
Command | Tool Called |
|
|
|
|
|
|
|
|
|
|
Testing Policy Features
Block a tool
Invoke-RestMethod -Uri "http://localhost:8000/api/settings/" -Method POST -ContentType "application/json" -Body '{"key": "blocked_tools", "value": "delete_note"}'Then type delete note 1 — will be blocked.
Unblock
Invoke-RestMethod -Uri "http://localhost:8000/api/settings/" -Method POST -ContentType "application/json" -Body '{"key": "blocked_tools", "value": ""}'Enable human approval
Go to Settings in dashboard → set enable_human_approval = 1 → Save.
Then try delete note 1 — will require approval from the Approvals panel.
Prompt injection detection
Type this in chat:
Will be blocked automatically with: Prompt injection detected in user message.
Policy Engine
The policy engine (policy_engine.py) enforces these rules in order:
Global toggle —
enable_tool_access = 0blocks all toolsPrompt injection detection — blocks known injection patterns
Argument size limit — blocks tool args over 2000 chars
Blocked tools list —
blocked_tools= comma-separated tool namesHuman approval —
enable_human_approval = 1requires approval for delete/update
Rules are checked on every request. Dashboard changes take effect immediately without restart.
Edge Cases
Scenario | Behavior |
MCP server crashes mid-call | MCPClient worker reconnects automatically on next request |
Prompt injection attempt | Detected by regex patterns, blocked before tool execution |
Conflicting rules |
|
Approver offline | Request stays |
Tool not recognized | Returns helpful message with supported commands |
This server cannot be deployed
Maintenance
Related MCP Connectors
- KnowtisOAuthapp.knowtis
Create, search and manage Knowtis collaborative notes from AI assistants.
Runtime permission, approval, and audit layer for AI agent tool execution.
Cross-session, cross-device memory for your agent: remember and recall notes. No key to start.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables Claude Desktop to create, read, list, and manage local notes stored on the computer using natural language requests.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage in-memory notes by listing, fetching, and creating notes through MCP tools over stdio.64 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to create, list, search, and delete notes, read all notes as markdown, and use prompts to summarize or clean up notes.MIT
- AlicenseNot gradedqualityBmaintenanceEnables managing plain-text notes on disk through MCP resources, tools, and prompts, so natural-language requests can create, read, search, delete, and summarize notes via an interactive client.MIT