Portfolio Mcp Server

io.github.ayush-s-tomar由 GitHub 帳號 ayush-s-tomar 發布v1.0.4更新於 Oct 29, 2026

Ask any MCP client what Ayush Singh Tomar has built: projects, stacks, and a resume summary.

發布方自己的服務:PortfolioFit

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

一個本機 stdio MCP 伺服器,讓助理依據內建資料回答關於 Ayush Singh Tomar 專案作品集、技術棧與履歷摘要的問題。

可以做什麼
  • 列出內建作品集中的所有專案與簡短說明
  • 依專案名稱取得單一專案的完整細節
  • 找出使用某項技術的專案
  • 挑出最值得先看的旗艦專案
  • 回傳包含背景、目標職務與核心技術棧的履歷式摘要
適用情境
適合想讓助理回答這位開發者做過什麼、用了哪些技術棧、履歷摘要為何的情境,而不必去讀 PDF 或連結清單。它更像一個自包含的 MCP 伺服器示範,而非通用工具。
執行需求
以 stdio 方式在本機執行,由用戶端啟動。需要 Python 3.10+,並透過 uv/uvx 或 pip 安裝 portfolio-mcp-server 套件。呼叫工具不需 API 金鑰、帳號或網路存取。
安裝前請注意
回答來自發佈時打包的靜態快照,之後新增的專案或變更的連結不會出現,回應也無法說明資料的新舊程度;尚未與 GitHub 或作品集網站即時同步。技術棧搜尋每次只支援一種技術。僅支援本機 stdio 用戶端,暫不支援遠端 HTTP/SSE 連線。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Portfolio Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

🗂️ Portfolio MCP Server

Ask an AI about my work. It answers from real data, not a PDF.

An MCP server that makes my AI project portfolio queryable.
Connect it to Claude, Cursor, or any MCP client and just ask.


[PyPI] [CI] [Python 3.10+] [MCP] [License: MIT] [Code style: ruff] [PRs Welcome]

Quickstart · Tools · Demo · Connect a client · Limitations · Roadmap


[Portfolio MCP Server demo]

⚡ Quickstart

The server command (clients launch it for you; run by hand, it just waits silently for a client):

bash
uvx --with "mcp<2" portfolio-mcp-server

Add it to Claude Code with one line:

bash
claude mcp add --scope user portfolio -- uvx --with "mcp<2" portfolio-mcp-server

Then ask:

"What has Ayush built with LangGraph?"

Prefer pip? pip install portfolio-mcp-server

💡 Why this exists

Most AI-developer portfolios are a list of links. This is a working MCP server built around my own portfolio, using the same protocol agentic products use to connect to tools. It is a real implementation of the spec and a direct answer to "show me you've actually built with MCP."

📦 PublishedLive on PyPI and the official MCP registry
🔧 5 toolsList, detail lookup, stack search, flagship pick, resume summary
✅ TestedLint, type-check, and a stdio smoke test on every push

🧰 Tools

ToolWhat it doesTry asking
list_projectsSummary of every project in the dataset"List everything Ayush has built."
get_project_details(project_name)Full details for one project"Tell me about his RAG chatbot."
search_projects_by_stack(technology)Projects using a given technology"Which projects use FastAPI?"
get_flagship_projectThe best project to look at first"What should I look at first?"
get_resume_summaryBackground, target role, core stack"Summarize his background."

🧠 How it works

text
MCP client (Claude, Cursor, agents)  <--stdio-->  portfolio-mcp-server (FastMCP)  -->  bundled project data

The client launches the server as a local process and talks to it over stdio. The server answers each tool call from its bundled project data. Nothing is hosted, and no API keys are needed.

🎬 Demo

MCP Inspector: tool discoveryLive chat demo
[MCP Inspector Demo][MCP Chat Demo]
🎥 Full video walkthrough

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

Setup → tool calls → live answers, end to end.

🔌 Connect a client

Claude Code
bash
claude mcp add --scope user portfolio -- uvx --with "mcp<2" portfolio-mcp-server
Claude Desktop

Open your 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, add "portfolio" inside it instead of overwriting the file.

Installed with pip:

json
{  "mcpServers": {    "portfolio": {      "command": "portfolio-mcp-server"    }  }}

Running from a cloned checkout (use the absolute path to server.py):

json
{  "mcpServers": {    "portfolio": {      "command": "python",      "args": ["/absolute/path/to/portfolio-mcp-server/server.py"]    }  }}

Restart Claude Desktop and ask: "What projects has Ayush built with FastAPI?"

Cursor and other clients

Any MCP client that can launch a stdio server works. Use portfolio-mcp-server (after pip install) or the uvx command above as the server command.

🛠️ Development

Run from source
bash
git clone https://github.com/ayush-s-tomar/portfolio-mcp-server.gitcd portfolio-mcp-server
python -m venv venvsource venv/bin/activate        # Windows: venv\Scripts\activate
pip install -r requirements.txt

Test it interactively with the MCP Inspector:

bash
mcp dev server.py

This opens a browser UI where you can call each tool and inspect raw request and response payloads.

Testing & CI

Every push and pull request runs through GitHub Actions:

CheckCommand
Lintruff check .
Type checkmypy server.py
Smoke testStarts the server and calls all 5 tools over stdio, confirming each returns valid, schema-matching JSON

Run the same checks locally before opening a PR:

bash
pip install -r requirements-dev.txtruff check .mypy server.pypytest

See .github/workflows/ci.yml.

Project structure
text
portfolio-mcp-server/|-- portfolio_mcp_server/|   |-- __init__.py|   `-- server.py          # packaged module (what PyPI ships)|-- server.py              # top-level entry point (dev / MCP Inspector / CI)|-- tests/|   |-- smoke_test.py      # stdio smoke test: calls all 5 tools, validates JSON schema|   |-- test_tools.py      # per-tool tests|   |-- test_data.py       # data integrity checks for the bundled projects|   `-- check_links.py     # checks every URL in the data (runs weekly in CI)|-- assets/                # demo GIF and screenshots|-- .github/|   |-- workflows/         # ci.yml, links.yml|   |-- ISSUE_TEMPLATE/|   |-- PULL_REQUEST_TEMPLATE.md|   `-- dependabot.yml|-- pyproject.toml         # PyPI packaging config|-- server.json            # MCP registry manifest|-- requirements.txt|-- requirements-dev.txt|-- claude_desktop_config_snippet.json|-- CHANGELOG.md|-- CONTRIBUTING.md|-- SECURITY.md`-- LICENSE

Built with: Python 3.10+ · MCP Python SDK (FastMCP) · stdio transport · registered on the MCP registry as io.github.ayush-s-tomar/portfolio-mcp-server

⚠️ Known limitations

Warning: The installed package is a snapshot. pip install gets the portfolio as it was at that release (v1.0.4, published 2026-10-27, at the time of writing). Projects added and demo links changed since then won'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 bundled data, so updating a project means editing it and republishing. There is no live sync with the GitHub repos or portfolio site yet.
  • stdio only. It works for local clients that can spawn the process, such as Claude Desktop, but there is no HTTP/SSE option yet for remote clients.
  • One technology per search. search_projects_by_stack filters on a single technology per call, so "LangGraph and FastAPI together" isn't supported yet.

🗺️ Roadmap

Done

  • Publish to PyPI as an installable package
  • Publish to the official MCP server registry
  • Refresh the bundled project data (v1.0.2)
  • Weekly CI link check of every URL in the bundled data

Next

  • 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)
  • Return a last_updated date from every tool so an answer can say how current it is
  • Support matching multiple technologies at once in search_projects_by_stack
  • Add an HTTP/SSE transport option alongside stdio for remote clients

🌐 Also listed on

[Portfolio MCP server on mcprush]

📄 License

Released under the MIT License.


Built by Ayush Singh Tomar

GitHub · LinkedIn · Portfolio

If this helped you build your own MCP server, a ⭐ on the repo is appreciated.

mcp-name: io.github.ayush-s-tomar/portfolio-mcp-server

來源:README.md,提交 08556a7

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

4
  1. v1.0.4最新Oct 29, 2026
  2. v1.0.3Oct 25, 2026
  3. v1.0.2Oct 24, 2026
  4. v1.0.1Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Portfolio 整合