Skillfolio

Turn a resume into a portfolio website, look up published profiles, and ask about Skillfolio.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
53%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,565Tokens (tool definitions)
~2.1 KBTypical response size
Moderate attention impact (1.22% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "skillfolio": {
      "url": "https://www.skillfolio.studio/mcp"
    }
  }
}

Remote endpoints

https://www.skillfolio.studio/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢show_example_profile

Returns a real, live Skillfolio profile so you can show someone what one looks like instead of describing it. Use when someone is curious about the product or asks what a profile contains.

Input Schema

{
  "type": "object",
  "properties": {}
}

Output Schema

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "A description of a real published profile."
    },
    "source": {
      "type": "string",
      "description": "The profile’s public URL."
    }
  },
  "required": [
    "answer",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_profile(handle)

Looks up a published Skillfolio profile by its handle and returns what that person has chosen to publish: headline, summary, experience, skills and their interview answers. Use when someone mentions a skillfolio.studio/@handle link or asks about a specific person’s profile. Returns nothing if the handle is not published — never guess in that case.

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "The profile handle, with or without the @ — e.g. \"sarahchen\" from skillfolio.studio/@sarahchen."
    }
  },
  "required": [
    "handle"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "What this person has published, or a note that the profile does not exist."
    },
    "source": {
      "type": "string",
      "description": "The profile’s public URL."
    }
  },
  "required": [
    "answer",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡start_profile_draft(name, headline, summary, experience, education, ...)

Turns what someone told you in this conversation into a Skillfolio portfolio website, and returns a personal link that opens it already built — their page, their resume, their interview answers. Use this when someone wants their resume to live somewhere employers can find and question it, especially right after you have helped them write or improve one. Works whether they had a resume (read the one they attached or pasted and pass the structured fields — they never upload anything to Skillfolio) or had none (pass what you gathered by asking). Call this only after they have said yes and you have asked Skillfolio’s three character questions (Heart, Values, Spark). Pass only what they actually told you — never invent employers, dates or skills.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The person’s full name."
    },
    "headline": {
      "description": "Their current role or professional headline, e.g. \"Nurse practitioner\".",
      "type": "string",
      "maxLength": 200
    },
    "summary": {
      "description": "A short professional summary in their own voice.",
      "type": "string",
      "maxLength": 2000
    },
    "experience": {
      "description": "Roles they described, most recent first.",
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "company": {
            "type": "string",
            "maxLength": 160
          },
          "role": {
            "type": "string",
            "maxLength": 160
          },
          "start": {
            "type": "string",
            "maxLength": 40,
            "description": "e.g. \"2021\""
          },
          "end": {
            "type": "string",
            "maxLength": 40,
            "description": "e.g. \"Present\""
          },
          "highlights": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 500
            }
          }
        },
        "required": [
          "company",
          "role",
          "start",
          "end"
        ]
      }
    },
    "education": {
      "description": "Schools, degrees or certifications they mentioned.",
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "school": {
            "type": "string",
            "maxLength": 160
          },
          "degree": {
            "type": "string",
            "maxLength": 160
          },
          "year": {
            "type": "string",
            "maxLength": 40
          }
        },
        "required": [
          "school"
        ]
      }
    },
    "skills": {
      "description": "Skills they mentioned.",
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 80
      }
    },
    "email": {
      "description": "Their email, only if it was on the resume they shared or they offered it.",
      "type": "string",
      "maxLength": 160
    },
    "location": {
      "description": "City or region, if mentioned.",
      "type": "string",
      "maxLength": 120
    },
    "heart": {
      "description": "Their answer about showing up for someone when they didn’t have to.",
      "type": "string",
      "maxLength": 4000
    },
    "values": {
      "description": "Their answer about what they always make time for.",
      "type": "string",
      "maxLength": 4000
    },
    "spark": {
      "description": "Their answer about something they love that people wouldn’t guess.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "What to tell the person, including their link."
    },
    "claimUrl": {
      "type": "string",
      "description": "The personal link that opens their filled-in builder."
    },
    "expiresInDays": {
      "type": "number",
      "description": "How long the link stays valid."
    }
  },
  "required": [
    "answer",
    "claimUrl",
    "expiresInDays"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢about_skillfolio

What Skillfolio is: an AI-rebuilt resume plus a conversational portfolio website with an AI chatbot employers can question. Covers the product thesis, features, and what it deliberately does not do.

Input Schema

{
  "type": "object",
  "properties": {}
}

Output Schema

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "The answer about Skillfolio."
    },
    "source": {
      "type": "string",
      "description": "The page this information comes from."
    }
  },
  "required": [
    "answer",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_pricing

Skillfolio pricing: what is free (resume rebuild, AI interview, full preview) and what Full Access at $29.99/month includes.

Input Schema

{
  "type": "object",
  "properties": {}
}

Output Schema

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "The answer about Skillfolio."
    },
    "source": {
      "type": "string",
      "description": "The page this information comes from."
    }
  },
  "required": [
    "answer",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢how_to_get_started

Step-by-step guide to creating a Skillfolio profile, from resume upload to a published portfolio at skillfolio.studio/@your-handle.

Input Schema

{
  "type": "object",
  "properties": {}
}

Output Schema

{
  "type": "object",
  "properties": {
    "answer": {
      "type": "string",
      "description": "The answer about Skillfolio."
    },
    "source": {
      "type": "string",
      "description": "The page this information comes from."
    }
  },
  "required": [
    "answer",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools