OpsPilot MCP Server
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., "@OpsPilot MCP ServerFind recent support tickets for account Acme Corp"
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.
Enterprise AI Workflow Agent (OpsPilot)
A portfolio project demonstrating enterprise AI workflows over fictional SaaS data.
Milestone 3: Read-only MCP tools and knowledge search
Stack: FastAPI, SQLAlchemy 2.0, Alembic, SQLite (PostgreSQL-ready), official Python MCP SDK.
Windows PowerShell setup
From the repository root, with an existing .venv:
.venv\Scripts\python.exe -m pip install --no-cache-dir -e ".[dev]"
.venv\Scripts\python.exe -m alembic upgrade head
.venv\Scripts\python.exe -m enterprise_ai_workflow_agent.db.seed
.venv\Scripts\python.exe -m pytest -q
.venv\Scripts\python.exe -m ruff check .
.venv\Scripts\python.exe -m alembic check
.venv\Scripts\python.exe scripts\smoke_mcp.pyRun FastAPI separately:
.venv\Scripts\python.exe -m uvicorn enterprise_ai_workflow_agent.main:app --reloadSwagger: http://127.0.0.1:8000/docs
MCP server
Run as a stdio MCP server:
.venv\Scripts\python.exe -m enterprise_ai_workflow_agent.mcp_server.serverThis command waits for JSON-RPC messages from an MCP client; it is not an HTTP server.
Do not type messages into it or expect a URL. Use scripts/smoke_mcp.py for an end-to-end
client/server smoke test.
Registered tools:
search_accounts(query, limit=10)get_account_tickets(account_id, limit=10)get_ticket_details(ticket_id)get_product_information(product_id)search_knowledge(query, product_id=None, limit=5)
Knowledge search limitations
Knowledge search is deterministic, case-insensitive token-overlap ranking with title boosting. It is not semantic retrieval, embeddings, pgvector, or RAG. Documents are returned with snippets and source metadata. Later milestones can add vector search.
Safety boundaries
All tools are read-only. Tool parameters use SQLAlchemy bound expressions, not raw SQL. There is no authentication, authorization, tenant isolation, or approval/audit layer yet. Use synthetic data only; do not deploy publicly. Tool responses can contain untrusted document content, so a future LLM agent must not treat retrieved text as instructions.
CI
The existing .github/workflows/ci.yml runs Ruff, pytest (including MCP registration and
service tests), Alembic migration checks, and Docker image build on every push/PR.
Database schema
Milestone 3 does not change the database schema; Alembic stays at revision 0001.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only Frasma MCP: profile, knowledge search, diagnostic handoff. No email.
Work tickets and messages, look up contacts and teams, pull reports, and reply, assign or close.
Read tickets, users, orgs, macros and satisfaction ratings; create, update and comment on tickets.
Remote MCP server for managing Muninx tickets, messages, ticket search, and support analytics.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceExposes read-only capabilities from the Baihua home server to any MCP client via stdio, including knowledge base search/reading, budget summary, and task listing.-
- FlicenseNot gradedqualityCmaintenanceEnables querying enterprise records and retention policies from any MCP client over stdio, with read-only tools for searching records, fetching retention verdicts, identifying archival candidates, summarizing departments, forecasting retentions, and viewing audit history.-
- AlicenseAqualityCmaintenanceProvides customer lookup, transaction history, knowledge-base search, and ticket management tools to any MCP client.5MIT
- FlicenseAqualityBmaintenanceProvides read-only MCP tools over stdio for interacting with a Redmine instance, enabling users to list and retrieve projects, issues, queries, wiki pages, and other Redmine resources via the REST API.35-