Competitive Intelligence MCP Server
by ed-lin12
README.md
# Competitive Intelligence MCP Server
A Python MCP server that exposes structured competitive intelligence data as governed tools, connected to Replit Agent as the interface. A seller types a natural language prompt and gets formatted sales collateral on demand from a single source of truth.
## What It Does
- Exposes two MCP tools: `get_competitor_profile` and `list_available_profiles`
- Every tool call is logged with timestamp, request ID, tool name, competitor queried, and hit/miss status
- Admin dashboard shows hits, misses, content gaps, and data freshness
- API key authentication enforced at the middleware layer before any request reaches the application
## Stack
- Python 3.11
- Starlette (async web framework)
- Anthropic MCP SDK (Streamable HTTP transport)
- uvicorn (ASGI web server)
## Project Structure
```
artifacts/
├── api-server/ # Replit routing layer (artifact.toml)
└── mcp-server/
├── server.py # Entire application
└── data/
├── cursor.json
├── lovable.json
├── replit.json
└── audit.log
```
## Running Locally
Install dependencies:
```bash
cd artifacts/mcp-server
pip install -r requirements.txt
```
Set environment variables:
```bash
export MCP_API_KEY=your_api_key_here
export ADMIN_KEY=your_admin_key_here
```
Start the server:
```bash
python server.py
```
Server runs on port 8000 by default.
## Endpoints
| Endpoint | Auth | Description |
|---|---|---|
| `/mcp/` | X-API-Key header | MCP tool endpoint |
| `/mcp/health` | None | Health check |
| `/admin?key=ADMIN_KEY` | Query param | Admin dashboard |
## MCP Tools
**`get_competitor_profile`**
Fetches the full competitive intelligence profile for a named competitor. Pass the competitor name as stated by the user -- the server handles normalization.
**`list_available_profiles`**
Lists all available competitor profiles with last-updated timestamps. Call this first when the competitor name is uncertain or ambiguous.
## Environment Variables
| Variable | Description |
|---|---|
| `MCP_API_KEY` | Required. Enforced on all `/mcp/` requests via X-API-Key header |
| `ADMIN_KEY` | Required. Query param auth for the admin dashboard |
| `PORT` | Optional. Defaults to 8000 |
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues