portfolio-mcp-server

portfolio-mcp-server

Exposes 32 portfolio tools over stdio so MCP-compatible AI clients can read and manage profile, projects, skills, certifications, education, experience, and testimonials from a universal-portfolio instance.

Category
Visit Server

README

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


Setup

1. Install dependencies

npm install

2. Configure environment

cp .env.example .env

Edit .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_here

3. Test manually

npm start

For development with auto-reload:

npm run dev

The 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
get_profile Profile info, bio, social links
list_projects Published projects (filter by category/skill, paginated)
get_project Single project by ID or slug
list_skills All skills (filter by category, paginated)
get_skill Single skill by ID or name
list_certifications All certifications
get_certification Single certification by ID
list_education Education history
get_education Single education entry by ID
list_experience Work experience
get_experience Single experience entry by ID
list_testimonials Testimonials (filter featured)
get_testimonial Single testimonial by ID

Write tools — API key with can_write = true

Tool Description
update_profile Update name, bio, email, social links, etc.
create_project Create a new project
update_project Update project by ID (including body_html)
delete_project Delete project by ID
create_skill Create a new skill
update_skill Update skill by ID
delete_skill Delete skill by ID
create_certification Create a new certification
update_certification Update certification by ID
delete_certification Delete certification by ID
create_education Create an education entry
update_education Update education by ID
delete_education Delete education by ID
create_experience Create a work experience entry
update_experience Update experience by ID
delete_experience Delete experience by ID
create_testimonial Create a testimonial
update_testimonial Update testimonial by ID
delete_testimonial 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)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured