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 集成