GhostPaw Affinity MCP server
io.github.GhostPawJS · Updated
Local relationship model and social CRM for contacts, relationships, evidence, and commitments.
At a glance
GhostPaw Affinity is an MCP server in the Dev Tools & Git category. It runs locally over stdio via `npx -y @ghostpaw/affinity`, and declares no required credentials. It exposes 12 tools, including search_affinity, review_affinity and inspect_affinity_item. It scores A (82/100) on the MCP Skills Hub health score as of Oct 27, 2026.
One-click install
Opens your editor and pre-fills the config. Your editor will ask before adding it.
How to install GhostPaw Affinity in your AI client
Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.
How to install GhostPaw Affinity in Claude CodeAnthropic's agentic CLI
Add the server
bashclaude mcp add affinity -- npx -y @ghostpaw/affinityVerify it's connected
bashclaude mcp listSharing it with your team?
Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).
Use it in a session
Ask Claude to use the tools this server exposes (e.g. search_affinity, review_affinity, inspect_affinity_item). It discovers them automatically.
How to install GhostPaw Affinity in Claude DesktopDesktop app (MCP config)
Open your MCP config
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this server
json{ "mcpServers": { "affinity": { "command": "npx", "args": [ "-y", "@ghostpaw/affinity" ] } } }Restart Claude Desktop
The tools appear under the 🔌 menu once the app reloads.
How to install GhostPaw Affinity in CursorAI-first code editor
Create / edit .cursor/mcp.json in your project
json{ "mcpServers": { "affinity": { "command": "npx", "args": [ "-y", "@ghostpaw/affinity" ] } } }Enable it
Cursor Settings → MCP → toggle the server on. Tools become available to the Composer/Agent.
How to install GhostPaw Affinity in Codex CLIOpenAI coding agent
Add to ~/.codex/config.toml
toml[mcp_servers.affinity] command = "npx" args = ["-y", "@ghostpaw/affinity"]Run Codex
Codex loads MCP servers from config.toml on startup and exposes their tools to the agent.
How to install GhostPaw Affinity in WindsurfCodeium's agentic IDE
Edit ~/.codeium/windsurf/mcp_config.json
json{ "mcpServers": { "affinity": { "command": "npx", "args": [ "-y", "@ghostpaw/affinity" ] } } }Reload
Windsurf → Cascade → refresh MCP servers. Cascade can now call the tools.
How to install GhostPaw Affinity in ClineVS Code autonomous agent
Open Cline → MCP Servers → Configure
Adds to cline_mcp_settings.json.
Add the server
json{ "mcpServers": { "affinity": { "command": "npx", "args": [ "-y", "@ghostpaw/affinity" ] } } }
How to install GhostPaw Affinity in VS CodeCopilot / MCP support
Create .vscode/mcp.json
json{ "servers": { "affinity": { "type": "stdio", "command": "npx", "args": [ "-y", "@ghostpaw/affinity" ] } } }Start it
VS Code shows a ▶ Start action above the server entry. Agent mode (Copilot Chat) can then use the tools.
What does GhostPaw Affinity need from you?
Configuration only — Declares config values but no credentials.
GHOSTPAW_AFFINITY_DBoptionalEnvironment variableSQLite database path (default: ~/.ghostpaw/affinity.db)
Pass secrets through your shell environment rather than committing them into a config file.
What tools does GhostPaw Affinity expose? (12)
Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.
- search_affinitySearch contacts by natural key or name
- review_affinityDashboard-style list and graph review views
- inspect_affinity_itemOpen one exact profile or link detail
- manage_contactCreate, revise, or change contact lifecycle
- merge_contactsMerge duplicate contacts safely
- manage_duplicate_dismissalDismiss or restore a suspected duplicate pair
- manage_identityAdd, revise, verify, or remove identities
- manage_relationshipSeed social links, revise bond/state, manage structural ties
- record_eventRecord direct evidence, observations, milestones, or transactions
- manage_commitmentRecord or resolve obligations
- manage_date_anchorAdd, revise, or remove recurring important dates
- manage_attributeSet, unset, or replace contact/link metadata
What the code can do
Read from the published package source — never executed. Parsed 6 of 6 source files.
This server can read and write files, read your environment variables and read system information.
Some of this package is bundled— its dependencies are compiled into the published files. The capabilities below are really in what runs on your machine, but they may come from a bundled library rather than the author's own source.
How it was published
- Published by a verified CI identity (github trusted publishing) rather than a personal token.
- Has a provenance attestation tying this artifact to the commit it was built from.
- 1 npm maintainer — a single point of compromise · last published by GitHub Actions.
Maintainer of this package and think something here is wrong? Tell us and we'll correct it.
Before you install
Signals gathered from the source repo and package registry — not a safety verdict.
What it can reach
- Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
- Downloads at launch — The package is fetched from its registry each run unless you pin a version.
- Last commit today — Actively maintained.
- 1 GitHub stars — Very little community usage so far.
Client compatibility
Health score
A · 82Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated
- Maintenance30%100%
Last commit 0 days ago.
- Adoption20%9%
1 stars.
- Transparency20%100%
4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.
- Provenance15%100%
Package and registry entry point at the same repository.
- Packaging15%100%
Publishes a pinned version (0.6.0).
Documentation
Full README@ghostpaw/affinity
Agent contacts: people, promises and yearly dates, with a radar for who is drifting.
A local social CRM: contacts, identities, relationships, journal events, commitments and recurring dates in one SQLite file. One self-contained binary per platform, an MCP server, and a zero-dependency TypeScript library.
Install
Each line downloads the latest release for one platform, checks it against SHA256SUMS, puts ghostpaw-affinity on your PATH and prints the version.
Linux x64
cd "$(mktemp -d)" && T=linux-x64 && V=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/GhostPawJS/affinity/releases/latest | sed 's|.*/v||') && F=ghostpaw-affinity-$V-$T.tar.gz && U=https://github.com/GhostPawJS/affinity/releases/download/v$V && curl -fsSL -O "$U/$F" -O "$U/SHA256SUMS" && grep " $F\$" SHA256SUMS | sha256sum -c - && tar -xzf "$F" ghostpaw-affinity && mkdir -p ~/.local/bin && mv ghostpaw-affinity ~/.local/bin/ && { case ":$PATH:" in *":$HOME/.local/bin:"*) ;; *) echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile; export PATH="$HOME/.local/bin:$PATH";; esac; } && ghostpaw-affinity --versionLinux arm64
cd "$(mktemp -d)" && T=linux-arm64 && V=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/GhostPawJS/affinity/releases/latest | sed 's|.*/v||') && F=ghostpaw-affinity-$V-$T.tar.gz && U=https://github.com/GhostPawJS/affinity/releases/download/v$V && curl -fsSL -O "$U/$F" -O "$U/SHA256SUMS" && grep " $F\$" SHA256SUMS | sha256sum -c - && tar -xzf "$F" ghostpaw-affinity && mkdir -p ~/.local/bin && mv ghostpaw-affinity ~/.local/bin/ && { case ":$PATH:" in *":$HOME/.local/bin:"*) ;; *) echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile; export PATH="$HOME/.local/bin:$PATH";; esac; } && ghostpaw-affinity --versionmacOS Apple silicon
cd "$(mktemp -d)" && T=darwin-arm64 && V=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/GhostPawJS/affinity/releases/latest | sed 's|.*/v||') && F=ghostpaw-affinity-$V-$T.tar.gz && U=https://github.com/GhostPawJS/affinity/releases/download/v$V && curl -fsSL -O "$U/$F" -O "$U/SHA256SUMS" && grep " $F\$" SHA256SUMS | shasum -a 256 -c - && tar -xzf "$F" ghostpaw-affinity && sudo mkdir -p /usr/local/bin && sudo mv ghostpaw-affinity /usr/local/bin/ && ghostpaw-affinity --versionmacOS Intel
cd "$(mktemp -d)" && T=darwin-x64 && V=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/GhostPawJS/affinity/releases/latest | sed 's|.*/v||') && F=ghostpaw-affinity-$V-$T.tar.gz && U=https://github.com/GhostPawJS/affinity/releases/download/v$V && curl -fsSL -O "$U/$F" -O "$U/SHA256SUMS" && grep " $F\$" SHA256SUMS | shasum -a 256 -c - && tar -xzf "$F" ghostpaw-affinity && sudo mkdir -p /usr/local/bin && sudo mv ghostpaw-affinity /usr/local/bin/ && ghostpaw-affinity --versionWindows x64 (PowerShell)
Excerpt — the full document is on GitHub.
Alternatives to GhostPaw Affinity
- DataSentryB · 74Local-first MCP server for data-quality discovery, evidence, drift, and controlled repair.
- Project MemoryB · 71Local decisions, evidence, outcomes and reviewed lessons with bounded retrieval and an HTML viewer.
- Horosa SkillA · 88Local-first offline 术数/占星 (Horosa 星阙): 110 technique tools, all computed on your machine.
- Codex BridgeB · 79Connect MCP clients to local Codex Bridge agents, projects, approvals and workspace tools.
Maintain GhostPaw Affinity? Add a badge to your README
Shows its health grade, and links readers to install steps for every client.
[](https://mcp-skills-hub.vercel.app/mcps/io-github-ghostpawjs-affinity)Catalog data refreshed . Something wrong? Report it.