Priya Gautam MCP Server
# Priya Gautam MCP Server
An MCP (Model Context Protocol) server that exposes Priya Gautam's professional profile through tools, resources, prompts, and Dynamic Context Retrieval (DCR).
## Screenshots
### MCP Inspector v1.0.0

### MCP Inspector v1.0.0

### About ME


## Source vs compiled code
- `src/*.ts` = editable TypeScript source code.
- `dist/*.js` = compiled JavaScript generated from the TypeScript source.
- `dist` is included in this ZIP so Node/Claude can run the server immediately after dependencies are installed.
- Do not edit files inside `dist` manually. Change `src/*.ts` and run `npm run build` again.
## Requirements
- Node.js 20+
- npm
## Install
```bash
npm install
```
## Verify TypeScript
```bash
npm run check
```
## Build TypeScript -> JavaScript
```bash
npm run build
```
This generates:
```text
dist/
├── dcr.js
├── index.js
├── profile.js
└── server.js
```
## Run locally (recommended)
Run the compiled server for local MCP clients (STDIO):
```bash
npm start
```
`npm start` runs `node dist/index.js`.
For development (watch mode):
```bash
npm run dev
```
Start with the MCP Inspector (two terminals)
Open two terminals to run the server and the MCP Inspector.
Terminal 1 — run the server (HTTP mode):
```bash
MCP_TRANSPORT=http npm run dev
```
Terminal 2 — run the Inspector UI:
```bash
npx @modelcontextprotocol/inspector
```
### Claude Desktop configuration
Use the example in `claude_desktop_config.example.json` and replace the placeholder with the absolute path to this project's `dist/index.js`:
```json
{
"mcpServers": {
"priya-gautam-mcp": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/MOJO/dist/index.js"
],
"env": {}
}
}
}
```
Do not point `node` directly at `src/index.ts`. Node runs the compiled `dist/index.js`.
## Development mode
For development only:
```bash
npm run dev
```
This uses `tsx watch src/index.ts`.
## HTTP mode
Run:
```bash
MCP_TRANSPORT=http npm run dev
```
The server exposes:
```text
http://localhost:3000/health
http://localhost:3000/mcp
```
The `/health` endpoint is for a simple browser check. `/mcp` is an MCP protocol endpoint and should be tested using an MCP client or MCP Inspector, not by opening it as a normal webpage.
## MCP tools
- `get-profile`
- `get-skills`
- `get-projects`
- `get-education`
- `get-experience`
- `list-sections`
- `search-priya-profile` — primary DCR tool
- `search-profile` — backward-compatible alias
- `explain-dcr`
## DCR
`search-priya-profile` ranks profile sections against the user's question and returns the most relevant context instead of returning the complete profile every time.
Example questions:
- What are Priya's technical skills?
- Tell me about Priya's WoodenScale experience.
- What projects has Priya built?
- What is Priya's educational background?
## Important
Do not run `npm run dev` as the Claude Desktop production/local MCP command. Use `npm start`, which runs the compiled JavaScript entry point.
TDQS
Scored across 9 tools
There is significant overlap: get-profile, get-skills, get-projects, get-education, and get-experience provide section-specific data, but search-priya-profile and search-profile are near-duplicates both using DCR to search the entire profile. Agents could easily misselect between search-priya-profile and search-profile, and between the individual getters and search tools when a broad query comes in.
Most tools follow a clear get-<section> pattern (get-profile, get-skills, get-projects, get-education, get-experience) and list-sections, but search-priya-profile breaks the pattern by embedding the person's name instead of using a consistent 'search-<target>' prefix like search-profile does. The inconsistency between the two search tool names is the main deviation.
9 tools is a reasonable count for a profile server, but the surface feels padded: search-priya-profile and search-profile appear to be redundant duplicates serving the same purpose, and explain-dcr is more documentation than a functional tool. The effective distinct tool count is closer to 6-7.
The server covers profile sections well (skills, projects, education, experience, plus a compact overview). Minor gaps exist, such as no dedicated tools for certifications or achievements despite those being mentioned in search descriptions, but the search tool can still surface that data.