Portfolio MCP Server
by HQVinh
README.md
# Portfolio MCP Server
A small [MCP](https://modelcontextprotocol.io/) server that gives Claude read access to data behind my portfolio site, backed by Postgres. Currently wired up to Claude only, but built to grow as more tools get added.
## What it does
Exposes portfolio data as MCP tools so Claude can answer questions about it directly, instead of me pasting context in by hand.
**Tools:**
- `list_work_experience` — returns all work experience entries (role, company, period, type, description, highlights), ordered by recency.
## Setup
Requires Python 3.12+ and [uv](https://docs.astral.sh/uv/).
```bash
uv sync
```
Create a `.env` file in the project root:
```
DATABASE_URL_READ=postgresql://...
DATABASE_URL_WRITE=postgresql://...
```
`DATABASE_URL_READ` is the only one currently used by the server. `DATABASE_URL_WRITE` is reserved for future write-capable tools.
## Running
```bash
uv run server.py
```
The server communicates over stdio, so it's meant to be launched by an MCP client (e.g. Claude Desktop or Claude Code) rather than run standalone. Point your client's MCP config at:
```
uv --directory <path-to-this-repo> run server.py
```
## Roadmap
This is intentionally minimal right now — one read-only tool against one table. Planned expansion includes more tools covering other parts of the portfolio (projects, skills) and eventually write access via `DATABASE_URL_WRITE`.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues