# StockDocs — MCP Data API server for the StockDocs financial news platform: exposes the processed article corpus and vector database over HTTP so LLM clients (via MCP wrappers) can query semantic search results, article content, and company facts. Part of the StockDocs project family: | Repo | What it is | |------|------------| | [StockDocs](https://git.jarianc.com/jarianc/StockDocs) | Processing core — article server, NLP analysis, embeddings | | [stockdocs-scraper](https://git.jarianc.com/jarianc/stockdocs-scraper) | RSS scraper — collects the article corpus | ## Endpoints | Method | Path | Description | |--------|------|-------------| | POST | `/query` | Semantic search over the ChromaDB vector store | | POST | `/articles/query` | Filter the article corpus by criteria | | GET | `/articles/latest/` | Latest articles by field | | GET | `/company//facts` | Company fact sheet | | GET | `/company//products` | Company product list | | POST | `/company/facts/update` | Update a company fact sheet | | POST | `/facts` | Extracted-facts query | | GET | `/health` | Health check | | GET | `/info` | Service info | | GET | `/openapi.json` | OpenAPI 3.0 spec | ## Running ```bash pip install -r requirements.txt python server.py # :5005 ``` Requires a running ChromaDB instance (host/port via environment). ## Docker ```bash docker build -t stockdocs-mcp . docker run -p 5005:5005 -e CHROMADB_HOST= stockdocs-mcp ``` ## Project Structure ``` . ├── server.py # Flask app — all endpoints ├── openapi.json # OpenAPI 3.0 spec (also served at /openapi.json) ├── requirements.txt # Python dependencies └── Dockerfile # python:3.12-slim image ```