Portfolio 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., "@Portfolio MCP ServerWhat projects has Ayush built with FastAPI?"
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.
Portfolio MCP Server
An MCP server that turns my AI project portfolio into something you can query, not just read.
Point any MCP client (Claude Desktop, Cursor, custom agents) at it and ask "What has Ayush built with LangGraph?" or "What's his flagship project?" ā it answers from live structured data, not a static PDF.
TL;DR
š¦ Published, not just built ā live on PyPI and the official MCP registry;
pip install portfolio-mcp-servergets it running in any MCP client in under a minute, no repo clone required.š§ 5 real tools ā list, detail-lookup, stack search, flagship pick, and resume summary, all backed by structured data instead of a static README scroll.
ā CI-tested on every push ā lint, type-check, and a real stdio smoke test that calls all 5 tools and validates the JSON schema of each response.
Table of contents
Related MCP server: toad-mcp-server
Why this exists
Most AI-developer portfolios are a list of links. This is a working MCP server ā the same protocol agentic products use to connect to tools ā built around my own portfolio. It's both a real implementation of the spec and an answer to "show me you've actually built with MCP," not just talked about it.
Demo
MCP Inspector ā tool discovery | Live chat demo |
|
|
https://github.com/user-attachments/assets/4c1b844a-087f-48a6-b156-bdef27282acc
Setup ā tool calls ā live answers, end to end.
Tools exposed
Tool | Description |
| Short summary of all 9 projects |
| Full details for one project |
| Find projects using a given technology |
| The single best project to look at first |
| Background, target role, and core stack |
Quickstart
Option A ā install from PyPI (fastest):
pip install portfolio-mcp-serverOption B ā clone and run from source (for local edits/testing):
git clone https://github.com/ayush-s-tomar/portfolio-mcp-server.git
cd portfolio-mcp-server
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtTest it interactively with the MCP Inspector before wiring it into a client:
mcp dev server.pyThis opens a browser UI where you can call each tool manually and inspect raw request/response payloads.
Connect to Claude Desktop
Open your Claude Desktop config file:
OS | Path |
macOS |
|
Windows |
|
If the file already has an mcpServers key with other servers in it, add
the "portfolio" entry inside the existing object rather than overwriting
the file.
If you installed via PyPI (Option A above):
{
"mcpServers": {
"portfolio": {
"command": "portfolio-mcp-server"
}
}
}If you're running from a cloned source checkout (Option B above): use the absolute path to server.py on your machine:
{
"mcpServers": {
"portfolio": {
"command": "python",
"args": ["/absolute/path/to/portfolio-mcp-server/server.py"]
}
}
}Restart Claude Desktop, then ask it something like:
"What projects has Ayush built with FastAPI?"
Claude will call search_projects_by_stack and answer from the live data.
Stack
Python 3.10+
MCP Python SDK (
FastMCP)stdio transport
Packaged for PyPI and registered on the official MCP server registry (
io.github.ayush-s-tomar/portfolio-mcp-server)
Testing & CI
Every push and pull request runs through GitHub Actions:
Lint ā
ruff check .Type check ā
mypy server.pySmoke test ā spins up the server and calls each of the 5 tools over stdio to confirm they return valid, schema-matching JSON
See .github/workflows/ci.yml. Run the same
checks locally before opening a PR:
pip install -r requirements-dev.txt
ruff check .
mypy server.py
pytestProject structure
portfolio-mcp-server/ āāā server.py # FastMCP server + tool definitions āāā data/ ā āāā projects.json # Project data the tools read from āāā tests/ ā āāā test_tools.py # Smoke tests for each tool āāā requirements.txt āāā requirements-dev.txt āāā pyproject.toml # PyPI packaging config āāā server.json # MCP registry manifest āāā .github/workflows/ci.yml
Roadmap
Publish to PyPI as an installable package
Publish to the official MCP server registry
search_projects_by_stackā support matching on multiple technologies at onceAdd an HTTP/SSE transport option alongside stdio for remote clients
Cache resume/project data with a lightweight refresh endpoint instead of static JSON
License
Released under the MIT License.
Author
Ayush Tomar ā GitHub
If this was useful as a reference for building your own MCP server, a ā on the repo is appreciated.
mcp-name: io.github.ayush-s-tomar/portfolio-mcp-server
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Nifty's MCP server ā exposes tasks, projects, messages, and files as tools for AI agents.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that lets recruiters and AI assistants explore your profile, skills, and projects through natural language.6MIT
- FlicenseAqualityDmaintenanceMCP server exposing portfolio AI tools including semantic search, evaluation framework, and prompt management, enabling natural language interaction with these services via Claude Desktop.5-
- FlicenseNot gradedqualityDmaintenanceAn MCP server for controlling the TimeLiner project management system, enabling AI clients to manage projects, tasks, members, and more via natural language.-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI assistants to interact with OpenProject, listing projects and work packages and managing resources through natural language.-

