portfolio-mcp-server
Enables AI-powered code assistants to interact with a universal-portfolio instance, providing tools for CRUD operations on portfolio data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@portfolio-mcp-serverlist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
portfolio-mcp-server
An MCP (Model Context Protocol) server that connects AI tools — Claude Desktop, Cursor, GitHub Copilot — directly to your universal-portfolio instance.
What it does
Exposes all 32 portfolio tools over stdio so any MCP-compatible AI client can:
Read your profile, projects, skills, certifications, education, experience, and testimonials
Create, update, and delete any portfolio item (with a write-enabled API key)
Related MCP server: personal-context
Related
universal-portfolio — the full-stack portfolio app this server connects to: github.com/muhammad-awais-web-dev/universal-portfolio
Setup
1. Install dependencies
npm install2. Configure environment
cp .env.example .envEdit .env:
# URL of your running portfolio (local or deployed)
PORTFOLIO_URL=https://your-portfolio-domain.com
# API key from portfolio admin → Settings → API Keys
# Enable "can_write" on the key for write tool access
MCP_API_KEY=your_api_key_here3. Test manually
npm startFor development with auto-reload:
npm run devThe server communicates over stdio — it won't print anything until an MCP client connects. Startup messages appear on stderr.
Connect to Claude Desktop
Edit ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": ["tsx", "/path/to/portfolio-mcp-server/src/index.ts"],
"env": {
"PORTFOLIO_URL": "https://your-portfolio-domain.com",
"MCP_API_KEY": "your_api_key_here"
}
}
}
}Restart Claude Desktop. You'll see portfolio listed under MCP tools.
Connect to Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": ["tsx", "/path/to/portfolio-mcp-server/src/index.ts"],
"env": {
"PORTFOLIO_URL": "https://your-portfolio-domain.com",
"MCP_API_KEY": "your_api_key_here"
}
}
}
}Connect to VS Code
Requires VS Code 1.99+ with the GitHub Copilot extension.
Create or edit .vscode/mcp.json in your workspace (or add to your user settings.json under "mcp"):
{
"servers": {
"portfolio": {
"type": "stdio",
"command": "npx",
"args": ["tsx", "/path/to/portfolio-mcp-server/src/index.ts"],
"env": {
"PORTFOLIO_URL": "https://your-portfolio-domain.com",
"MCP_API_KEY": "your_api_key_here"
}
}
}
}Open the Copilot Chat panel, switch to Agent mode, and the portfolio server will appear under available tools.
Connect to GitHub Copilot CLI
Edit ~/.copilot/mcp-config.json:
{
"mcpServers": {
"portfolio": {
"type": "stdio",
"command": "npx",
"args": ["tsx", "/path/to/portfolio-mcp-server/src/index.ts"],
"env": {
"PORTFOLIO_URL": "https://your-portfolio-domain.com",
"MCP_API_KEY": "your_api_key_here"
}
}
}
}Available Tools (32 total)
Read tools — any API key
Tool | Description |
| Profile info, bio, social links |
| Published projects (filter by category/skill, paginated) |
| Single project by ID or slug |
| All skills (filter by category, paginated) |
| Single skill by ID or name |
| All certifications |
| Single certification by ID |
| Education history |
| Single education entry by ID |
| Work experience |
| Single experience entry by ID |
| Testimonials (filter featured) |
| Single testimonial by ID |
Write tools — API key with can_write = true
Tool | Description |
| Update name, bio, email, social links, etc. |
| Create a new project |
| Update project by ID (including |
| Delete project by ID |
| Create a new skill |
| Update skill by ID |
| Delete skill by ID |
| Create a new certification |
| Update certification by ID |
| Delete certification by ID |
| Create an education entry |
| Update education by ID |
| Delete education by ID |
| Create a work experience entry |
| Update experience by ID |
| Delete experience by ID |
| Create a testimonial |
| Update testimonial by ID |
| Delete testimonial by ID |
Example prompts (once connected to Claude/Cursor/Copilot)
"List all my projects"
"What skills do I have in the Backend category?"
"Update my profile bio to: I'm a full-stack developer..."
"Create a new skill called Docker in the DevOps category"
"Update project 5 — set body_html to:
<p>New description</p>""Publish project with slug 'my-app'"
Requirements
Node.js 18+
A running universal-portfolio instance
An MCP API key (generated in the portfolio admin panel)
This 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.
Latest Blog Posts
- 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/muhammad-awais-web-dev/portfolio-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server