Portfolio MCP
Portfolio MCP
Aiman Tariqの実際のCVとポートフォリオの内容を、AIアシスタントが直接照会できるツールとリソースとして公開するMCP(Model Context Protocol)サーバーです。履歴書PDFのテキスト抽出が偶然生む内容に依存するのではなく、本人のデータから裏付けのある回答を得ます。
このサーバーをClaude Desktop、Claude Code、Cursorに追加して「AimanにRAG経験はありますか?」や「Audiキャンプで何を作りましたか?」と質問すると、アシスタントはツールを呼び出し、本人のデータから直接得た裏付けのある答えを返し、それを引用できます。
なぜこのプロジェクトか
MCPは生まれてからまだ1年ほどで、2026年にGitHubプロフィールを流し読みする技術者にとって、MCPは今でも現代的で切れ味のよいツール知識として映ります。オープンソースの「ポートフォリオをMCPサーバーにする」プロジェクトはすでにいくつか存在します(sohumsuthar/portfolio-mcp、Mrinank-Bhowmick/MCV)。これは同じパターンを踏襲しつつ、彼らのコードを再利用するのではなくAiman自身のデータに対してゼロから書かれたもので、高速で小規模、そして実用的なツールです。採用担当者のAIアシスタントは、履歴書パーサーに頼らず、このサーバーを直接参照できます。
Related MCP server: mcp-me
公開する内容
6つのツール:
get_about()- 概要、現在の役割、学歴get_experience(role="")- 職務経験(任意で1つの役割に絞り込み可能)get_projects(name="")- プロジェクトの解説(任意で1つのプロジェクトに絞り込み可能)get_skills(category="")- スキル一覧(任意で1つのカテゴリに絞り込み可能)get_contact()- メール、ポートフォリオサイト、LinkedIn、GitHub、所在地search_portfolio(query)- 全コンテンツに対する自由形式の検索。呼び出し側がどのツールが該当するか分からない場合に使います
5つのリソース(生のMarkdownファイル)はURIで参照できます(portfolio://about、portfolio://experience、portfolio://projects、portfolio://skills、portfolio://contact)。これは、ツールを一つずつ呼び出すのではなく、知識ベース全体をコマーコンテキストとして事前に読み込みたいクライアント向けです。
ツールだけでなくリソースも意図的に含めています。MCPには、ツール(モデルが起動するアクション)とリソース(パッシブでURI参照されるデータ)という明確な区別があり、このサーバーは、多くのチュートリアルが示す片方だけでなく、その両方を実演しています。
設計判断
ツールは構造化JSONではなく、フィルタ済みのテキストを返します。 get_experience("PookiDevs") は、名前付きフィールドを持つパース済みオブジェクトではなく、一致するMarkdownセクションを文字列として返します。この程度の規模の知識ベース(少数のファイル、一人分)では、モデルが適切に作られたMarkdownセクションを読むことは。JSONスキーマをパースするのとい説明度に役立ちますし、data/experience.md に新しい経歴を追加しても、server.py を変更する必要がありません。
検索は埋め込みベクトルではなく、単語オーバーラップを使います。
search_portfolioは、ベクターインデックスではなく、セクションごとにクエリのキーワード出現数を数えます。このサーバーはmcpパッケージ以外に依存関係がありません(ChromaDBもscikit-learnも、ダウンロードするモデルもなし)。インストールが本当に速く、問題規模(数ダースの短いセクションであって、巨大なコーパスではない)に一致します。仲間のリポジトリであるask-my-portfolioのよりスマートな検索方式を使いたい場合は、file_portfolioをapp/rag.pyを呼び出す小さな関数に丸ごと差し替えできます。データファイルは
ask-my-portfolio/data/をミラーします。 両プロジェクトは同一人物を対象にしているため、ここにあるdata/about.md、experience.md、projects.md、skills.mdはask-my-portfolioプロジェクトのファイルのコピーです(contact.mdはこのサーバーだけで必要)。どちらかを更新した際は手動で同期するか、両プロジェクトを並行してチェックアウ进行している場合はdata/をシンボリックリンク代わりにしてください。
テスト済み
python test_server.py は、create_connected_server_and_client_session を介してサーバーを駆動します。これは、実際のクライアントが行うのとまったく同じ、メ・モリ上のストリームでの実際のMCPプロトコル(list_tools、call_tool、list_resources、read_resource)であり、単なるPython関数の直接呼び出しではありません。6つすべてのツール、5つすべてのリソース、マッチングなしフィルターの端のがチェックされます。現在の実行は、設定なし、APIキーなし、ネットワーク呼び出しなしで全16チェックをパーフェクトに通りました。ここにあるのはすべてローカルなMarkdownだからです。
プロジェクト構造
server.py FastMCP server: tools, resources, search
test_server.py protocol-level integration test
data/
about.md, experience.md, projects.md, skills.md, contact.md
requirements.txt, .gitignore実行方法
Claude DesktopやClaude Codeへの設定手順は SETUP.md を参照してください。短くすると:
pip install -r requirements.txt
python test_server.py # prove it works, no client needed
python server.py # starts the stdio MCP serverThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes a personalized AI agent that reads your resume and provides intelligent responses about your professional background through a standardized MCP server interface with RAG capabilities.MIT
- AlicenseNot gradedqualityCmaintenanceTransforms professional data (CV, projects) into MCP tools for LLMs to query, list, match job descriptions, and ask about experience.77MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to query the author's career, projects, publications, and technical documents through read-only MCP tools.
- AlicenseNot gradedqualityCmaintenanceEnables retrieval-augmented generation over a local markdown corpus, allowing grounded, cited answers via an MCP tool or CLI.9MIT
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
MCP-native collaborative markdown editor with real-time AI document editing
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aim-t/portfolio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server