Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/Portfolio

Portfolio

I
by io.github.ayush-s-tomar

MCP server exposing Ayush Tomar's AI portfolio -- ask what he built or his flagship project.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
uvx portfolio-mcp-server==1.0.1
Provider
Claude Code
claude mcp add io.github.ayush-s-tomar-portfolio-mcp-server -- uvx portfolio-mcp-server==1.0.1

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.ayush-s-tomar-portfolio-mcp-server": {
      "command": "uvx",
      "args": [
        "portfolio-mcp-server==1.0.1"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Portfolio?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Portfolio need an API key?
No required environment variable is listed on this record.
What transport does Portfolio use?
Portfolio runs locally over stdio.
When was Portfolio last checked?
Last checked 2026-10-16. MCP server exposing Ayush Tomar's AI portfolio -- ask what he built or his flagship project.

MCP server exposing Ayush Tomar's AI portfolio -- ask what he built or his flagship project.

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 structured data, not a static PDF.

TL;DR

  • πŸ“¦ Published, not just built β€” live on PyPI and the official MCP registry; pip install portfolio-mcp-server gets 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

  • Why this exists
  • Demo
  • Tools exposed
  • Quickstart
  • Connect to Claude Desktop
  • Stack
  • Testing & CI
  • Project structure
  • Known limitations
  • Roadmap
  • License
  • Author

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 discoveryLive chat demo
MCP Inspector DemoMCP Chat Demo

https://github.com/user-attachments/assets/4c1b844a-087f-48a6-b156-bdef27282acc

Setup β†’ tool calls β†’ live answers, end to end.

Tools exposed

ToolDescription
list_projectsShort summary of every project in the bundled dataset
get_project_details(project_name)Full details for one project
search_projects_by_stack(technology)Find projects using a given technology
get_flagship_projectThe single best project to look at first
get_resume_summaryBackground, target role, and core stack

Quickstart

Option A β€” install from PyPI (fastest):

pip install portfolio-mcp-server

Option 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.txt

Test it interactively with the MCP Inspector before wiring it into a client:

mcp dev server.py

This 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:

OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

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 bundled project 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.py
  • Smoke 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
pytest

Project 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

Known limitations

  • The installed package is a snapshot. pip install gets the portfolio as it was at that release (v1.0.1, published 2026-07-21, at the time of writing). Projects added and demo links changed since then don't appear until a new version is published, and tool responses can't yet say how current they are.
  • Static project data β€” tools read from data/projects.json, so adding or updating a project means editing that file and republishing, not a live sync with the actual GitHub repos or portfolio site (see Roadmap β€” a refresh endpoint isn't built yet).
  • stdio transport only β€” works great for local MCP clients like Claude Desktop that can spawn the process directly, but there's no HTTP/SSE option yet for a client that needs to reach it remotely over the network.
  • search_projects_by_stack matches one technology at a time β€” asking for projects using both LangGraph and FastAPI together isn't supported yet; each call filters on a single technology.

Roadmap

  • Publish a refreshed release with the current project list and verified demo links
  • Fetch project data from the portfolio site at startup, with the bundled snapshot as an offline fallback β€” one source of truth instead of two copies that drift apart, and it makes "live data" literally true
  • Return a last_updated date from every tool so an answer can say how current it is
  • Link-check every demo URL in the dataset in CI
  • Publish to PyPI as an installable package
  • Publish to the official MCP server registry
  • search_projects_by_stack β€” support matching on multiple technologies at once
  • Add 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 Singh Tomar β€” GitHub Β· LinkedIn Β· Portfolio

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

How do I install Portfolio?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Portfolio need an API key?
No required environment variable is listed on this record.
What transport does Portfolio use?
Portfolio runs locally over stdio.
When was Portfolio last checked?
Last checked 2026-10-16. MCP server exposing Ayush Tomar's AI portfolio -- ask what he built or his flagship project.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA