Nima Career
БесплатноНе проверенExposes Nima Karami's curated, public-safe career history. Allows AI to select and tailor pre-approved material for queries.
Описание
Exposes Nima Karami's curated, public-safe career history. Allows AI to select and tailor pre-approved material for queries.
README
A public, open-source, read-only MCP server that exposes Nima Karami's curated, public-safe career history. Point any MCP client at it — Claude Code, Cursor, Claude Desktop, or a custom website backend — and ask about his experience, or have it assemble a tailored resume draft on the fly.
The server only ever returns vetted data. The AI's job is to select, order, and tailor
pre-approved material for a query — never to author new facts. That guarantee is enforced in
code: every tool reads through a validated corpus, and the resume tool emits only corpus
values with provenance ids attached.
Quick start (local)
Requires uv.
uv sync --all-extras --dev
# Interactive dev + MCP Inspector (stdio). Requires Node/npx:
npx -y @modelcontextprotocol/inspector uv run nima-career-mcp
# (equivalent via the SDK dev wrapper, using the root shim — see note below:)
uv run mcp dev dev_server.py
# Or run the HTTP server locally:
uv run nima-career-mcp --transport streamable-http # serves http://127.0.0.1:8080/mcp
# Tests (includes corpus integrity + the honesty guarantee):
uv run pytest -q
Why
dev_server.py?mcp devimports its target file by path, which strips the package context and breaks this src-layout package's relative imports.dev_server.pyis a one-line shim that re-imports the server via an absolute import somcp devworks. Thenpx … uv run nima-career-mcpform spawns the installed entry point and needs no shim.
Connecting clients
Claude Code / Cursor / Claude Desktop (remote — live):
claude mcp add --transport http nima https://nima-career-mcp.fly.dev/mcp
Local stdio (any client that spawns a process): run nima-career-mcp (no --transport).
Custom website backend: see examples/website_backend.py
for both the Claude API MCP-connector path and a raw ClientSession path.
Tool surface (all read-only)
| Tool | Purpose |
|---|---|
get_profile |
Public-safe identity, links, bio |
get_about |
Languages, interests, education, principles (each with depth, in his words) |
list_roles / get_role |
Browse roles (flat); drill into one (evidence + approved bullets) |
list_experience |
Roles grouped into company tenures (title progressions; gaps split into stints) |
list_projects / get_project |
Browse/drill into projects |
list_skills |
Skills by category, each backed by evidence |
search_experience |
Rank roles/projects/bullets/skills for a query |
list_bullets |
Fetch pre-approved resume bullets |
assemble_resume |
Assemble a tailored resume draft from approved material only |
Resource career://guidance returns the honesty/anti-injection rules a host should embed in
its system prompt. (Other career:// resources and prompt templates are stubbed opt-ins.)
The corpus
All data lives in corpus/ as curated YAML and is validated at startup. See corpus/CORPUS.md for the schema and the evidence→bullet model. The content is a public-safe, sanitized view of real experience: every claim traces to vetted evidence, and individuals, internal codenames, and private partner details are deliberately generalized. This repo holds no secrets and no private data; application tracking lives in a separate private repo.
Safety posture
Intentionally public and unauthenticated, but bounded: read-only tool surface (no
write/exec), per-IP rate limiting (keyed on Fly's unforgeable client IP, with idle-bucket
eviction), request body-size caps (enforced on the actual stream), and Origin + Host
validation (DNS-rebinding defense) — see src/nima_career_mcp/security.py. Host/Origin
allowlists are env-driven (NIMA_ALLOWED_HOSTS / NIMA_ALLOWED_ORIGINS); the shipped
fly.toml locks Host to the deploy hostname (add custom domains there). The Fly machine
also caps concurrency so a flood sheds load instead of OOMing. Behavioral guardrails (don't
fabricate, treat queries as data) belong in the consuming host's system prompt and are served
from career://guidance.
Deploy (Fly.io)
fly launch --no-deploy # or edit fly.toml: set app name + region
fly deploy
The container runs uvicorn nima_career_mcp.server:app (the middleware-wrapped Streamable-
HTTP app). The shipped fly.toml keeps one machine always warm (min_machines_running = 1,
no cold starts) while extra machines autostart/autostop under load. After deploy, smoke-test
with the MCP Inspector:
npx @modelcontextprotocol/inspector # then connect to https://nima-career-mcp.fly.dev/mcp
License
MIT — see LICENSE.
Установка Nima Career
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/nima-karami/nima-career-mcpFAQ
Nima Career MCP бесплатный?
Да, Nima Career MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Nima Career?
Нет, Nima Career работает без API-ключей и переменных окружения.
Nima Career — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Nima Career в Claude Desktop, Claude Code или Cursor?
Открой Nima Career на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Nima Career with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
