Skip to main content
Glama
ayush-s-tomar

Portfolio MCP Server

Portfolio MCP Server

私のAIプロジェクトポートフォリオを、読むだけでなく検索できるものに変えるMCPサーバー。

あらゆるMCPクライアント(Claude Desktop、Cursor、カスタムエージェント)を接続して、 「AyushはLangGraphで何を構築した?」「彼の代表的なプロジェクトは?」 と尋ねると、 — 静的PDFではなく、ライブな構造化データから回答します。

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

TL;DR

  • 📦 公開済み、作っただけではない — PyPIと公式MCPレジストリで公開中。pip install portfolio-mcp-server を実行すれば、リポジトリのクローン不要で1分以内に任意のMCPクライアントで動作します。

  • 🔧 実際に動く5つのツール — 一覧表示、詳細検索、スタック検索、フラッグシップ選択、レジュメ要約。すべて静的READMEのスクロールではなく構造化データに基づいています。

  • すべてのプッシュでCIテスト済み — lint、型チェック、そして5つのツールすべてを呼び出して各レスポンスのJSONスキーマを検証する実際のstdioスモークテストを実行。


目次

Related MCP server: toad-mcp-server

存在理由

ほとんどのAI開発者ポートフォリオはリンクの羅列にすぎません。これは、エージェント型プロダクトがツールに接続するために使うのと同じプロトコルであるMCPサーバーを、自分のポートフォリオを中心に構築したものです。仕様の実際の実装であると同時に、「MCPで実際に何かを作ったことを見せて」 という問いへの答えでもあります。ただ話すだけではなく。

デモ

MCP Inspector — ツール探索

ライブチャットデモ

MCP Inspectorデモ

MCPチャットデモ

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

セットアップ → ツール呼び出し → ライブ回答まで、エンドツーエンドで。

公開ツール

ツール

説明

list_projects

全9プロジェクトの短い概要

get_project_details(project_name)

1つのプロジェクトの完全な詳細

search_projects_by_stack(technology)

指定したテクノロジーを使用しているプロジェクトを検索

get_flagship_project

最初に見るべき最高のプロジェクト

get_resume_summary

経歴、目標とする役割、コアスタック

クイックスタート

オプションA — PyPIからインストール(最速):

pip install portfolio-mcp-server

オプションB — ソースからクローンして実行(ローカルでの編集・テスト用):

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

クライアントに組み込む前に、MCP Inspectorで対話的にテストできます:

mcp dev server.py

ブラウザUIが開き、各ツールを手動で呼び出して、生のリクエスト/レスポンスペイロードを検査できます。

Claude Desktopへの接続

Claude Desktopの設定ファイルを開きます:

OS

パス

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

ファイルに他のサーバーが含まれる mcpServers キーがすでにある場合は、ファイルを上書きせず、既存のオブジェクト内に "portfolio" エントリを追加してください。

PyPIからインストールした場合(上記のオプションA):

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

クローンしたソースチェックアウトから実行している場合(上記のオプションB): お使いのマシン上の server.py への絶対パスを使用します:

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

Claude Desktopを再起動し、次のように尋ねてみてください:

「AyushはFastAPIでどのようなプロジェクトを構築しましたか?」

Claudeは search_projects_by_stack を呼び出し、ライブデータから回答します。

技術スタック

テストとCI

すべてのプッシュとプルリクエストはGitHub Actionsで実行されます:

  • Lintruff check .

  • 型チェックmypy server.py

  • スモークテスト — サーバーを起動し、stdio経由で5つのツールをそれぞれ呼び出して、有効でスキーマに一致するJSONを返すことを確認します

.github/workflows/ci.yml を参照してください。PRを開く前に、同じチェックをローカルで実行します:

pip install -r requirements-dev.txt
ruff check .
mypy server.py
pytest

プロジェクト構成

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

ロードマップ

  • インストール可能なパッケージとしてPyPIに公開

  • 公式MCPサーバーレジストリに公開

  • search_projects_by_stack — 複数のテクノロジーを同時にマッチングできるようにする

  • リモートクライアント向けにstdioに加えてHTTP/SSEトランスポートオプションを追加

  • 静的JSONの代わりに軽量なリフレッシュエンドポイントでレジュメ/プロジェクトデータをキャッシュ

ライセンス

MIT License の下で公開されています。

作者

Ayush TomarGitHub

独自のMCPサーバーを構築する際の参考として役立ったなら、リポジトリへの⭐をお願いします。

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

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers