@zamskiinc/mcp-server
v0.3.9
Published
Zamski MCP server — surfaces organizational intelligence into AI coding agents (Claude Code, Cursor, Windsurf)
Readme
@zamskiinc/mcp-server
MCP server that surfaces organizational intelligence from JIRA, GitHub, Slack, Calendar, and DevStream into any MCP-compatible AI coding agent.
Quick Start
Get a pairing key from the Zamski Agent Context panel, then run:
npx @zamskiinc/mcp-server connect --key <pairing-key>This saves credentials and writes config for all detected agents:
- Claude Code —
.mcp.json(project root) - Cursor —
.cursor/mcp.json(project root) - Windsurf —
~/.codeium/windsurf/mcp_config.json(if installed)
Start your agent and ask:
"What should I know about this repo?"What You Get
- 16 tools — organizational context, search, situations, experts, intelligence feed, and more
- 4 resources — briefing, work dashboard, situation details, intelligence feed
- 5 prompts — context check, situation brief, who-knows, daily brief, implement
Claude Code Configuration
The connect command writes this automatically. To configure manually:
{
"mcpServers": {
"zamski": {
"command": "npx",
"args": ["@zamskiinc/mcp-server"],
"env": {
"ZAMSKI_API_URL": "https://api.zamski.com"
}
}
}
}Save as .mcp.json in your project root.
Cursor Configuration
The connect command writes .cursor/mcp.json automatically. To configure manually, save to .cursor/mcp.json in your project root:
{
"mcpServers": {
"zamski": {
"command": "npx",
"args": ["@zamskiinc/mcp-server"],
"env": {
"ZAMSKI_API_URL": "https://api.zamski.com"
}
}
}
}Then restart Cursor or open Settings → MCP → Refresh.
Windsurf Configuration
The connect command writes ~/.codeium/windsurf/mcp_config.json automatically if Windsurf is installed. To configure manually, save to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"zamski": {
"command": "npx",
"args": ["@zamskiinc/mcp-server"],
"env": {
"ZAMSKI_API_URL": "https://api.zamski.com"
}
}
}
}Then restart Windsurf or open Cascade → MCP Servers → Refresh.
Tools (16)
| Tool | Description |
|------|-------------|
| zamski_file_context | Get org context for files — related tickets, PRs, discussions, experts |
| zamski_code_narrative | Narrative context about files — past decisions, failed attempts, business context |
| zamski_search | Cross-platform search across JIRA, GitHub, and Slack |
| zamski_situations | Active situations from spatial radar, sorted by gravity |
| zamski_my_work | Your assigned work: PRs, tickets, calendar items |
| zamski_find_experts | Find people with expertise in a topic or component |
| zamski_intelligence_feed | Scored intelligence feed ranked by importance |
| zamski_ask | Natural language question routed through chain reasoning |
| zamski_brief | Daily intelligence brief with top situations and metrics |
| zamski_work_item_context | Full context for a JIRA ticket or PR |
| zamski_meeting_decisions | Recent meeting summaries with key decisions |
| zamski_list_situations | List all active engineering situations |
| zamski_create_situation | Create a new situation to track |
| zamski_view_situation | View details of a specific situation |
| zamski_triage | Show unclassified signals that need categorization |
| zamski_tag_situation | Tag signals to an existing situation |
Prompts (5)
| Prompt | Description |
|--------|-------------|
| context-check | Pre-commit awareness — surfaces related intelligence for modified files |
| situation-brief | What's happening across the org right now |
| who-knows | Find the right person to ask about a topic |
| brief | Morning briefing with priorities and blockers |
| implement | Get full context before implementing a work item |
Resources (4)
| URI | Description |
|-----|-------------|
| zamski://briefing | Morning briefing |
| zamski://me/work | Current work dashboard |
| zamski://situations/{id} | Detailed situation view |
| zamski://feed | Current intelligence feed |
Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| ZAMSKI_API_URL | https://api.zamski.com | API base URL |
| ZAMSKI_ACCESS_TOKEN | — | JWT token (bypasses device flow, for CI) |
| ZAMSKI_CREDENTIALS_PATH | ~/.zamski/credentials.json | Path to stored credentials |
| ZAMSKI_MCP_CLIENT_ID | — | Auth0 client ID for device code flow |
Authentication
The connect --key flow is the recommended way to authenticate. The pairing key is generated in the Zamski web app and grants time-limited access.
For CI or automation, set ZAMSKI_ACCESS_TOKEN directly:
export ZAMSKI_ACCESS_TOKEN="<jwt-token>"For long-lived sessions, use the Auth0 device code flow:
export ZAMSKI_MCP_CLIENT_ID="<client-id>"
npx @zamskiinc/mcp-server auth loginTroubleshooting
"Not authenticated" error: Run npx @zamskiinc/mcp-server connect --key <key> to re-authenticate.
Connection timeout: Check that ZAMSKI_API_URL is reachable. Default is https://api.zamski.com.
Tools not showing in Claude Code: Verify .mcp.json is in your project root and restart Claude Code.
Expired credentials: Pairing keys are time-limited. Generate a new one from the Agent Context panel.
