harshdipsaha-mcp
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., "@harshdipsaha-mcpfind projects related to machine learning"
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.
harshdipsaha-mcp
A public, read-only Model Context Protocol server for harshdipsaha.tech. Add its URL to any MCP client (Claude Code, Codex, Cursor, …) to query Harshdip Saha's projects and profile directly, instead of scraping the site.
Design doc: docs/plans/2026-09-05-mcp-server-design.md
in the portfolio repo. Originated from issue #62.
Not to be confused with WebMCP. The portfolio site separately registers a WebMCP tool
(document.modelContext, ADR 0014/0020)
— a browser API consumed by an agent embedded in a browser tab. This repo is the real Model
Context Protocol, consumed by external clients over a network connection. They share a name and
nothing else.
Tools
searchProjects(query, limit?)— keyword search over the project list, same matching semantics as the portfolio's own WebMCP tool: every whitespace-separated term must appear in the title, summary, slug, or year.getProfile()— bio, skills, contact info, résumé link, and site URL.
Deliberately just these two, matching ADR 0014's minimal-surface reasoning: every additional tool is a schema that has to stay correct.
Related MCP server: Portfolio MCP Server
Architecture
harshdipsaha.tech/agent-data.json -> fetch (10 min edge cache) -> this Worker -> MCP clientThe Worker holds no data of its own — it fetches agent-data.json (generated by the portfolio
repo's scripts/build-agent-data.mjs) on every tool call, cached at Cloudflare's edge via the
cf.cacheTtl fetch option, so a burst of MCP traffic never hits GitHub Pages more than once per
10-minute window. There is no database, no KV, no Durable Object — the server is stateless, per the
MCP spec's 2026-07-28 revision.
src/lib/search-projects.mjs,src/lib/format.mjs— pure logic, unit-tested withnode --test.src/lib/agent-data-client.mjs— the one place that does I/O (the fetch).src/server.mjs— builds theMcpServerand registers both tools.src/index.mjs— the Worker entry point, wrappingcreateServerwith Cloudflare'screateMcpHandler(agents/mcp/server) for the Streamable HTTP transport.
Run locally
npm install
npm run typecheck # tsc, split into tsconfig.json (src, Workers types) + tsconfig.test.json (test, Node types)
npm test # node --test (default discovery) — the pure-function suite
npm run dev # wrangler dev — needs Node >= 22 (see below)Node version: wrangler hard-requires Node ≥ 22. This project's own code runs fine on Node 20+
(npm test/npm run typecheck don't need 22), but npm run dev/npm run deploy will refuse to
start otherwise. If you're on an older Node, switch first (nvm use 22 or equivalent).
Verified locally (Node 22.23.2, wrangler dev, no deploy): initialize, tools/list, and a real
tools/call for both tools against the live agent-data.json all returned correct responses.
Deploy
npx wrangler login # one-time, opens a browser OAuth flow — do this yourself, not from an agent session
npm run deployPublishes to <worker-name>.<your-subdomain>.workers.dev with no custom domain and no
authentication configured, matching the design doc's scope (public, read-only, no auth).
Keeping this in sync
src/lib/types.mjs's JSDoc typedefs mirror the portfolio repo's scripts/lib/agent-data.mjs
output field-for-field. There's no shared package between the two repos — if that shape changes on
the portfolio side, update the typedefs and src/server.mjs's Zod schemas here by hand.
Out of scope (see the design doc)
Any write/contact tool.
Auth of any kind.
The portfolio site's own discoverability addition (a footer link /
/mcpsection) — a separate, later change toHARSHDIPSAHA.github.io.
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.
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.
Related MCP Connectors
Public portfolio MCP for resume, services, availability, project evidence, and introductions.
Read-only MCP server for Mark Siazon's professional profile: projects, FAQ, proof, availability.
Akshay Shetty's engineering portfolio and resume, queryable by AI. OAuth-secured.
Query professional profiles, search candidates, and get AI-powered summaries and job fit analysis.
Related MCP Servers
- AlicenseAqualityDmaintenanceA 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.711MIT
- AlicenseAqualityCmaintenanceEnables searching and retrieving portfolio data including experience, skills, and contact information through natural language queries.5MIT
- AlicenseNot gradedqualityCmaintenanceProvides semantic search and listing over a unified personal knowledge graph aggregating LinkedIn, GitHub, course completions, and more, enabling MCP clients to answer questions about skills and experience with evidence-backed results.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to retrieve a personal biography, skills, projects, and contact links through a read-only MCP server.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/HarshdipSaha/harshdipsaha-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server