NovaCorp Operations Assistant
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., "@NovaCorp Operations AssistantWhat is the return policy for damaged goods?"
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.
NovaCorp Operations Assistant
MCP + CrewAI — Week 14 Mini-Project (Futurense AI Clinic)
A multi-agent operations assistant that answers business questions by searching local documents and order records. Built with FastMCP (MCP server) and CrewAI (agents). Runs locally with a free/local LLM — no paid API required.
What It Does
Given a natural-language question, a crew of three agents:
Researcher — searches NovaCorp's policy docs, product notes, and support tickets; reads order records by ID
Writer — synthesises evidence into a sourced markdown report saved to
outputs/Critic — cross-checks every claim in the report against the retrieved evidence
Every answer cites its source. If no evidence is found, the agent says so rather than guessing.
Related MCP server: Meeting Transcript Analyzer
Project Structure
.
├── data/
│ ├── documents/ # 10 NovaCorp policy/product/ticket docs
│ └── records.csv # 23-row orders dataset
├── mcp_server/
│ └── server.py # FastMCP server: 3 tools + 1 resource
├── crew/
│ ├── agents.py # Researcher, Writer, Critic agents
│ ├── tasks.py # Task definitions
│ └── main.py # Crew entry point (CLI)
├── tests/
│ ├── test_tools.py # Unit tests (no server needed) — 18 passing
│ └── test_crew_e2e.py # End-to-end crew test
├── examples/ # 3 sample Q&A outputs with Critic verdicts
├── traces/ # Auto-saved run traces (JSON + MD)
├── outputs/ # Reports written by save_report tool
├── docs/ # Original assignment brief
├── .env.example # Copy to .env — no secrets committed
├── ai_usage_log.md # AI tool usage + real bugs found
├── decision_log.md
├── reflection.md
└── requirements.txtQuick Start (Fresh Clone)
1. Clone and install dependencies
git clone <repo-url>
cd <repo-folder>
pip install -r requirements.txt2. Configure your LLM
Copy .env.example to .env and choose one LLM backend:
Option A — Ollama (recommended, fully local & free)
# Install Ollama from https://ollama.com, then pull the model:
ollama pull llama3.2:3b
# Then:
cp .env.example .env # already configured for llama3.2:3bOption B — Groq (free tier, cloud)
cp .env.example .env
# Edit .env: uncomment GROQ_API_KEY and set your key from console.groq.comOption C — OpenAI (paid)
cp .env.example .env
# Edit .env: uncomment OPENAI_API_KEY and set your key3. Run the crew
python crew/main.py "What is the return policy for damaged goods?"
python crew/main.py "What is the status of order ORD-0021?"
python crew/main.py "What warranty does the NX-500 carry?"The crew will:
Connect to the MCP server automatically over stdio
Search documents and/or read order records
Write a sourced report to
outputs/Save a run trace to
traces/Ask for your approval before writing the report (unless
AUTO_APPROVE=truein.env)
Inspect the MCP Server
Open the MCP Inspector to verify all tools and the resource are registered:
npx @modelcontextprotocol/inspector python mcp_server/server.pyYou should see three tools (search_documents, read_record, save_report) and one resource (documents://list).
Run Tests
# Unit tests — no LLM needed
pytest tests/test_tools.py -v
# End-to-end test — requires a running LLM
pytest tests/test_crew_e2e.py -vEnvironment Variables
Variable | Default | Description |
|
| Ollama model to use |
|
| Ollama endpoint |
| (unset) | Groq API key — overrides Ollama if set |
|
| Groq model |
| (unset) | OpenAI key — overrides Ollama if set |
|
| OpenAI model |
|
| Skip human approval gate for |
|
| Use CrewAI hierarchical (manager) process |
Stretch Features Implemented
Feature | How |
Human approval gate |
|
Self-check / Critic | Third agent verifies Writer's claims against evidence using |
Observability | Every run saves |
Hierarchical process | Set |
Security Notes
All tool inputs validated with Pydantic; path traversal attempts are rejected
No secrets committed — use
.envonly (never.env.examplewith real keys)save_reportrequires explicit human approval before writing to diskMCP server runs over stdio — only trusted local processes connect to it
max_iter=5on all agents prevents runaway loops
Sample Questions
"What is the return policy for damaged goods?""What is the status of order ORD-0021?""What warranty does the NX-500 carry and what is its price?""What was the resolution for support ticket #0019?""When should a support ticket be escalated to Tier 3?"
This server cannot be installed
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
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/chiragsharma0794/novacorp-operations-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server