Skip to main content
Glama
Ashishk9670

ashish-portfolio-mcp

by Ashishk9670

ashish-portfolio-mcp

An MCP (Model Context Protocol) server that exposes Ashish Kumar's portfolio — experience, projects, skills, and writing — as structured tools any MCP-aware AI client can query, instead of scraping HTML.

Live: https://ashish-portfolio-mcp.ashishk.workers.dev/mcp (Streamable HTTP) or /sse (legacy SSE). No install needed — point any MCP client at the URL.

Built as a companion to the portfolio site itself: ashishk9670/portfolio exports its data as static JSON at build time (public/data/*.json), and this server fetches that JSON at request time. Same source of truth, two deploys, no duplicated resume data.

Tools

Tool

Description

get_experience

Work history with quantified results and business impact per role

get_projects

Project case studies (problem, approach, results, outcome, impact)

get_skills

Skills by category, plus the tools actually used and why

get_about

Career timeline, engineering philosophy, education, certifications

get_contact_info

Email, GitHub, LinkedIn, and current availability status

list_blog_posts

Blog post titles, descriptions, and dates

get_blog_post

Full Markdown content of one post, by slug

Related MCP server: Pavan Madduri — Personal Knowledge MCP Server

Architecture

  • Remote (primary): a Cloudflare Worker using agents/mcp's McpAgent, serving Streamable HTTP at /mcp and legacy SSE at /sse. No local install needed — just a URL.

  • Local (stdio): a bundled Node script (bin/stdio.js) for Claude Desktop/Code, built with npm run build:stdio.

  • Both share the exact same tool implementations (src/tools.ts) and data-fetching layer (src/data.ts), which validates every fetched JSON payload with Zod (src/schemas.ts) before handing it to a tool.

  • Responses are cached at Cloudflare's edge for 5 minutes (cf: { cacheTtl }), so pushing new data to the portfolio site propagates here automatically — no redeploy of this server required.

This is a read-only, public-information-only server — everything it returns is already public on the portfolio site. No auth, no write access, no PII beyond what's already published.

Local development

npm install
npm run dev          # wrangler dev, served at http://localhost:8787

Test it with the MCP Inspector CLI:

npx @modelcontextprotocol/inspector --cli http://localhost:8787/mcp --method tools/list
npx @modelcontextprotocol/inspector --cli http://localhost:8787/mcp --method tools/call --tool-name get_contact_info

Redeploying

Already live at https://ashish-portfolio-mcp.ashishk.workers.dev. To ship a change:

npx wrangler login     # one-time, opens a browser to authenticate with your Cloudflare account
npm run deploy

To connect Claude Code or Claude Desktop to it, add it as a remote MCP server pointing at https://ashish-portfolio-mcp.ashishk.workers.dev/mcp.

Using it locally via stdio

npm run build:stdio
node bin/stdio.js     # speaks MCP over stdio

Or add it to Claude Desktop's config (claude_desktop_config.json):

{
  "mcpServers": {
    "ashish-portfolio": {
      "command": "node",
      "args": ["/absolute/path/to/ashish-portfolio-mcp/bin/stdio.js"]
    }
  }
}

Once published to npm, this collapses to npx ashish-portfolio-mcp — see prepublishOnly in package.json, which builds bin/stdio.js automatically before npm publish. Publishing itself needs npm login with your own npm account; this repo doesn't do that step for you.

Why this exists

The portfolio's whole pitch is "AI-assisted tooling used deliberately, not as hype." This is the concrete version of that: instead of a recruiter's AI assistant scraping the site's HTML, it can call get_experience or get_projects and get the same structured data the site itself renders from — accurate, current, and machine-readable by design.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides a structured API for AI agents to query a person's resume, including profile, projects, writing, and gated access to experience and skills.
    -
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that exposes a professional profile — certifications, industry articles, open source contributions, and live GitHub activity — as a queryable API for AI agents.
    7
    11
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Exposes a personal portfolio of projects, skills, and resume as callable tools for MCP-compatible AI assistants like Claude Desktop.
    4
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Turns a developer's portfolio into a queryable MCP server, enabling AI assistants to interrogate career data (experience, projects, skills) with grounded citations.
    -

Latest Blog Posts

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/Ashishk9670/ashish-portfolio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server