Skip to main content
Glama
cben0ist

Ascend MCP Server

by cben0ist
README.md
# Ascend MCP Server

Connect Claude (Desktop, Code, or agents) to your Ascend job search data.

## What it does

Gives Claude read-only access to:
- **Job applications** — list, filter by status, get full details with AI analysis
- **Resume** — your base resume in JSON Resume format
- **Dashboard stats** — totals, interview counts, match scores
- **Analytics** — trends and period-over-period comparisons

## Setup

### 1. Get your API key

1. Open Ascend → Settings → **Claude AI Integration**
2. Click **Generate Key** and copy the key (shown once)

### 2. Install dependencies

```bash
cd mcp
npm install
```

### 3. Configure Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "ascend": {
      "command": "node",
      "args": ["/absolute/path/to/ascend/mcp/src/index.js"],
      "env": {
        "ASCEND_API_URL": "https://ascend.workingensemble.ca/api/mcp",
        "ASCEND_API_KEY": "your_key_here"
      }
    }
  }
}
```

### 4. Configure Claude Code

```bash
claude mcp add ascend \
  -e ASCEND_API_URL=https://ascend.workingensemble.ca/api/mcp \
  -e ASCEND_API_KEY=your_key_here \
  -- node /absolute/path/to/ascend/mcp/src/index.js
```

### Local development

```bash
ASCEND_API_URL=http://localhost:4000/api/mcp \
ASCEND_API_KEY=your_key_here \
node mcp/src/index.js
```

### Test with MCP Inspector

```bash
cd mcp
ASCEND_API_URL=http://localhost:4000/api/mcp ASCEND_API_KEY=your_key \
  npx @modelcontextprotocol/inspector node src/index.js
```

## Available Tools

| Tool | Description |
|------|-------------|
| `list_applications` | List applications with optional status filter |
| `get_application` | Full details for one application including AI analysis |
| `get_resume` | Your base resume in JSON Resume format |
| `get_dashboard_stats` | Total applications, interviews, offers, avg match score |
| `get_analytics_overview` | Trends and analytics for a date range |

## Example prompts

- "How many job applications do I have in total?"
- "Show me applications where I'm currently interviewing"
- "What's my average job match score?"
- "Summarize my resume"
- "How has my application rate changed over the last month?"

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

list_applications and get_application are clearly list-vs-detail, and get_resume is unique. get_dashboard_stats and get_analytics_overview overlap somewhat as aggregate metrics, though current snapshot vs trends helps distinguish them.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern: list_/get_ plus a resource. The naming is predictable and readable across the entire set.

Tool Count5/5

Five tools is a tight, well-scoped set for a job-application insights server. Each tool covers a distinct data need without redundancy.

Completeness4/5

The read-side surface is reasonably complete: list/detail views, resume access, dashboard stats, and analytics. It lacks create/update actions, but for a read-oriented analytics server these are not critical gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues