Skip to main content
Glama
priya2001

Priya Gautam MCP Server

by priya2001
README.md
# 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 profile](screenshot/mcp-profile.png)

### MCP Inspector v1.0.0

![MCP education](screenshot/mcp-education.png)

### About ME

![About Priya](screenshot/about-priya.png)

![About Priya 2](screenshot/about-priya2.png)

## 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

B3.1/5.0

Scored across 9 tools

Disambiguation2/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues