portfolio-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_API_KEY | Yes | API key from portfolio admin panel (enable can_write for write tool access) | |
| PORTFOLIO_URL | Yes | URL of your running portfolio instance (local or deployed) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_profileA | Get the portfolio owner's profile: name, bio, contact details, social links |
| list_projectsB | List published projects. Optionally filter by category or skill name. |
| get_projectA | Get a specific project by ID or slug |
| list_skillsB | List all skills, optionally filtered by category |
| get_skillA | Get a specific skill by ID or name |
| list_certificationsC | List all certifications |
| get_certificationA | Get a specific certification by ID |
| list_educationC | List all education history |
| get_educationB | Get a specific education entry by ID |
| list_experienceC | List all work experience |
| get_experienceA | Get a specific work experience entry by ID |
| list_testimonialsC | List all testimonials |
| get_testimonialA | Get a specific testimonial by ID |
| update_profileB | Update the portfolio owner profile. Requires write permission. |
| create_projectB | Create a new portfolio project. Requires write permission. |
| update_projectA | Update an existing project by ID. Requires write permission. |
| delete_projectA | Delete a project by ID. Requires write permission. |
| create_skillB | Create a new skill. Requires write permission. |
| update_skillB | Update an existing skill by ID. Requires write permission. |
| delete_skillA | Delete a skill by ID. Requires write permission. |
| create_certificationC | Create a new certification. Requires write permission. |
| update_certificationB | Update an existing certification by ID. Requires write permission. |
| delete_certificationA | Delete a certification by ID. Requires write permission. |
| create_educationC | Create a new education entry. Requires write permission. |
| update_educationC | Update an existing education entry by ID. Requires write permission. |
| delete_educationA | Delete an education entry by ID. Requires write permission. |
| create_experienceB | Create a new work experience entry. Requires write permission. |
| update_experienceA | Update an existing work experience entry by ID. Requires write permission. |
| delete_experienceB | Delete a work experience entry by ID. Requires write permission. |
| create_testimonialB | Create a new testimonial. Requires write permission. |
| update_testimonialC | Update an existing testimonial by ID. Requires write permission. |
| delete_testimonialC | Delete a testimonial by ID. Requires write permission. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Each tool targets a distinct resource and action, with clear list/get/create/update/delete separation. There is no meaningful overlap or ambiguity between any of the 32 tools.
Tool names follow a consistent verb_noun pattern throughout: list_ for collections, get_ for single items, and create_/update_/delete_ for mutations. This makes the API surface highly predictable.
With 32 tools, the server is over-scoped for a portfolio use case, exceeding the threshold where tool selection becomes a cognitive burden. While the CRUD pattern is systematic, most real portfolio workflows would only need a small subset of read operations.
The tool set provides complete CRUD coverage for every portfolio content type, plus profile management. There are no obvious dead ends or missing lifecycle operations.