AgentOps
Allows sending notifications to n8n webhooks for automated workflows such as email, Slack, Discord, Telegram, and PagerDuty notifications.
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., "@AgentOpscheck if the price of milk at store.com is below $3"
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.
AgentOps
Browser Automation Agent — an MCP server that browses the web, checks conditions, and takes autonomous action. Combined with n8n for notifications and fully Dockerized for portability.
This is not a chatbot. AgentOps is a real agentic automation system: it navigates pages, extracts data, evaluates conditions, sends notifications, and can fill forms autonomously.
Architecture
┌──────────────┐ ┌─────────────────────────────────────────────┐ ┌───────────┐ ┌─────────────┐
│ MCP Client │────▶│ AgentOps MCP Server │────▶│ n8n Webhook│────▶│ Email/Slack │
│ (Claude etc) │ │ ┌───────────┐ ┌──────────────────────┐ │ │ (free/host)│ │ Notification │
└──────────────┘ │ │ FastAPI │ │ Playwright Agent │ │ └───────────┘ └─────────────┘
│ │ Dashboard │──│ Navigate → Extract │ │
┌──────────────┐ │ │ :8000 │ │ → Screenshot → Form │ │
│ Browser │ │ └───────────┘ └──────────────────────┘ │
│ (your app) │────▶│ │ ┌───────────┐
└──────────────┘ │ ┌──────────────────┐ ┌───────────────┐ │────▶│ SQLite │
│ │ Condition Checker │ │ Scheduler │ │ │ (logs) │
┌──────────────┐ │ │ price/text/stock │ │ (periodic) │ │ └───────────┘
│ Dashboard │────▶│ │ + Groq LLM fallback│ │ │ │
│ Web UI │ │ └──────────────────┘ └───────────────┘ │
└──────────────┘ └─────────────────────────────────────────────┘Flow: MCP Client / Dashboard → MCP Server → Playwright Agent → Condition Check → (if met) n8n Webhook → Notification
Related MCP server: Browser Automation MCP
Features
5 MCP Tools:
check_url_condition,get_check_history,create_scheduled_check,get_agent_activity_log,trigger_form_fillCondition Types:
price_below:X,price_above:X,text_contains:Y,text_absent:Y,stock_available,stock_unavailable, or custom (Groq LLM)Scheduled + On-Demand Checks: periodic via APScheduler or instant "Run Now"
n8n Integration: webhook-triggered notifications (email, Slack, or any n8n-supported channel)
Full Activity Log: every action logged to SQLite with timestamps and screenshots
Dark/Light Theme Dashboard: real-time updates, screenshot previews, one-click check creation
100% Free Stack: Groq free tier, Playwright (OSS), SQLite, self-hosted n8n
Quick Start (Docker — Recommended)
Prerequisites
Docker and Docker Compose installed
One-Command Start
git clone <your-repo> && cd AgentOps
docker-compose up --buildThat's it. Two containers spin up:
Service | URL | Description |
AgentOps Dashboard | Web UI, API, MCP tools | |
n8n Editor | Workflow automation |
Set Up n8n Notifications
Open http://localhost:5678 in your browser
Click "Import from File" and upload
n8n-workflow.jsonThe workflow receives webhooks from AgentOps and can send to:
Email (configure SMTP credentials in n8n — Settings > Credentials > SMTP)
Slack (add your webhook URL to the Slack node)
Any channel n8n supports (Discord, Telegram, PagerDuty, etc.)
Toggle the imported workflow to Active (top-right switch)
Test by clicking "Test Webhook" in the AgentOps dashboard header
Quick Start (Manual)
Prerequisites
Python 3.11+
Install
cd AgentOps
pip install -r requirements.txt
playwright install chromiumConfigure (optional)
cp .env.example .env
# Edit .env — add your GROQ_API_KEY (free at console.groq.com) for custom condition evaluationRun
# Dashboard + API server
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000
# MCP server (stdio transport, for Claude Desktop etc.)
python -m app.mcp_serverTo use with Claude Desktop, add to your claude_desktop_config.json:
{
"mcpServers": {
"agentops": {
"command": "python",
"args": ["-m", "app.mcp_server"],
"cwd": "/path/to/AgentOps"
}
}
}MCP Tools Reference
Tool | Description | Key Parameters |
| Navigate to URL, extract data, evaluate condition |
|
| Get past check results for a URL |
|
| Create a periodically-running check |
|
| Full activity log with all agent actions | (none) |
| Autonomously fill and submit a web form |
|
Condition Formats
price_below:50 → True if any price on page < 50
price_above:20 → True if any price > 20
text_contains:In Stock → True if page text contains "In Stock"
text_absent:Sold Out → True if text does NOT contain "Sold Out"
stock_available → True if stock signals found
stock_unavailable → True if out-of-stock signals found
(anything else) → Evaluated by Groq LLM (requires API key)Demo Script
Once AgentOps is running, here's what to show:
Open Dashboard at http://localhost:8000 — see 3 pre-seeded demo checks
Click "▶ Run" on any check — watch the activity log populate with navigation, extraction, condition evaluation, and screenshot
Create a New Check — click "+ New Check", enter a books.toscrape.com URL, set a condition, and run it
View Screenshots — click any screenshot in the activity log to see full-size visual proof
Toggle Theme — click the moon/sun icon in the header
Set Up n8n — import the workflow, activate it, and trigger a condition to see a real notification
Example MCP Client Session
You: Check if the book at https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html
has a price below £100. Use the .price_color selector.
→ AgentOps calls check_url_condition(url, "price_below:100", ".price_color")
→ Navigates to page, extracts "£51.77", evaluates: price 51.77 < 100 → MET
→ If n8n is configured, sends notification webhook
→ Returns full result with screenshot pathDemo Safety
All default/seeded checks use books.toscrape.com — a dedicated web scraping practice site. No real e-commerce or business sites are targeted by default.
Project Structure
AgentOps/
├── app/
│ ├── main.py # FastAPI entry point, lifespan, seed data
│ ├── mcp_server.py # MCP server with 5 tools (stdio transport)
│ ├── services.py # Orchestrator: browser + checker + DB + notifications
│ ├── config.py # Settings (env vars, defaults)
│ ├── agent/
│ │ ├── browser.py # Playwright: navigate, extract, screenshot, form fill
│ │ ├── checker.py # Condition evaluation (built-in + Groq LLM)
│ │ └── scheduler.py # APScheduler for periodic checks
│ ├── database/
│ │ └── db.py # SQLite: checks, activity_log, scheduled_checks
│ ├── notifications/
│ │ └── n8n.py # Webhook caller for n8n
│ └── dashboard/
│ ├── routes.py # FastAPI API endpoints
│ └── templates/
│ └── index.html # Dashboard UI (dark/light theme)
├── Dockerfile
├── docker-compose.yml
├── n8n-workflow.json # Import into n8n
├── requirements.txt
├── .env.example
└── README.mdFree Tier Stack
Component | Tool | Cost |
LLM | Groq (Llama-3.3-70b-versatile) | Free |
Browser Automation | Playwright (OSS) | Free |
Database | SQLite | Free |
Workflow/Notifications | n8n (self-hosted) | Free |
MCP Protocol | mcp Python SDK | Free |
Containerization | Docker | Free |
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/mansisonani07/agentops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server