SkillAgentSearch skills...

contrack

Self-hosted contact management + tracking + online enrichment for your personal and professional needs 🐦‍⬛

Install / Use

claude mcp add arvarik -- npx -y github:arvarik/contrack

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

82/100

Category

Operations

Supported Platforms

Claude Code
Claude Desktop

Our assessment of contrack

contrack scores 82/100 on our quality scale, 628th of 762 Operations skills we index.

Its MCP Server is 13 KB long, split into 6 sections with 4 code examples: a thorough specification that gives an agent plenty to work with.

It has 48 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
18/20
Description
12/15
Adoption
7/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so contrack is actively maintained.
  • It is released under AGPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
  • Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

contrack compared with similar skills

All 4 of these similar skills score higher than contrack; compare them before choosing.

SkillScoreStarsUpdatedFormat
contrack (this skill)by arvarik8248todayMCP Server
claude-memby thedotmack100101.3ktodayCLAUDE.md
Agent-Reachby Panniantong10098.3k2d agoCLAUDE.md
headroomby headroomlabs-ai10075.5ktodayCLAUDE.md
CowAgentby zhayujie10047.4k1d agoCLAUDE.md

Frequently asked questions

How do I install contrack?
Run claude mcp add arvarik -- npx -y github:arvarik/contrack. The install tabs above show the steps for each supported agent.
Which AI agents does contrack work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is contrack safe to use?
It is AGPL-3.0-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is contrack still maintained?
The repository was last updated today, so contrack is actively maintained.
<div align="center"> <h1> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/brand/contrack-lockup-animated-dark.svg" /> <img src="docs/brand/contrack-lockup-animated.svg" alt="Contrack" width="400" /> </picture> </h1> <p><b>Privacy focused people management and search</b></p>

CI Release Docker image Node.js 26.10+ License: AGPL v3 OpenSSF Scorecard

</div> <br/> <p align="center"> <img src="docs/images/tour.gif" alt="A tour of Contrack: the Pulse page, the command palette opening a contact, a question answered in Ask Contrack, and the map of the network" width="100%" /> </p>

Contacts are scattered all over your apps, often have a large overlap, and aren't necessarily filled in with the most amount of information you'd like. When every app requests access to your contacts, it doesn't really feel like you own your network.

And even when you meticulously update your private Apple contacts, there's no good way to keep building the relationship or continuously updating their important details.

Contrack solves all of these by being an all-in-one, self-hosted contact management app that a follows a simple 4 step process:

Import → Dedupe → Enrich → Track

<table> <tr> <td rowspan="4" width="19%" align="center" valign="middle"> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/brand/readme-flow-dark.svg" /> <img src="docs/brand/readme-flow.svg" alt="Import, Dedupe, Enrich and Track: the Contrack corvid flies down from step to step" width="100%" /> </picture> </td> <td width="81%" valign="middle"> <h3>Import</h3> <p><b>Everyone, from everywhere.</b> Drop in your contacts from Apple, Google, LinkedIn or Facebook.<br><br>Connect your calendar or inbox, and past conversations and meetings appear right on each person's timeline.</p> <img src="docs/images/flow-import.gif" alt="A contacts file dropped on the Import page: the import runs, merges one duplicate by itself, and lists three to review" width="100%" /> </td> </tr> <tr> <td width="81%" valign="middle"> <h3>Dedupe</h3> <p><b>One person. One clean story.</b> The same friend from three address books becomes a single profile.<br><br>Contrack merges the obvious matches automatically and lets you review the rest side by side, with a 90-day undo if you ever change your mind.</p> <img src="docs/images/flow-dedupe.gif" alt="Possible duplicates: a pair with the reason it matched, what the merge keeps, the merge, and Undo" width="100%" /> </td> </tr> <tr> <td width="81%" valign="middle"> <h3>Enrich</h3> <p><b>All the context you never had time to type.</b> Paste a quick note like <i>"Met at Sarah's wedding, loves natural wine, kids are Leo and Maya, catch up every quarter"</i> or <i>"Partner at Sequoia, follow up next Tuesday on seed round"</i>, and Contrack turns it into a complete profile with dates, tags, and reminders.<br><br>Or let web research fill in roles and links with cited sources.</p> <img src="docs/images/flow-enrich.gif" alt="Research on a contact: the run, and the Research card filling in with facts and their sources" width="100%" /> </td> </tr> <tr> <td width="81%" valign="middle"> <h3>Track</h3> <p><b>Never let someone important drift away.</b> Write a note in plain language and <i>"next Tuesday"</i> becomes a reminder automatically.<br><br>Set how often you want to stay in touch, and each morning Contrack gently shows who is due and whose birthday or milestone is coming up.</p> <img src="docs/images/flow-track.gif" alt="A note logged with the follow-up 'Send the deck next Tuesday', then the contact tracked monthly" width="100%" /> </td> </tr> </table>

Highlights

<table> <tr> <td width="50%" valign="top"> <img src="docs/images/showcase-pulse.png" alt="Pulse: the day's sentence, Up next and Keeping up" width="100%" /> <h3>Pulse</h3> Your calm morning briefing. See the follow-ups due today, friends and colleagues you haven't spoken with in a while, and upcoming birthdays, anniversaries, and custom milestones. </td> <td width="50%" valign="top"> <img src="docs/images/showcase-ask.png" alt="Ask Contrack answering a question with matching people" width="100%" /> <h3>Ask Contrack</h3> Ask in plain words, like <i>"Who do I know in Lisbon?"</i> or <i>"Who loves natural wine?"</i> Answers come straight from your own contacts and notes, searched privately on your machine. </td> </tr> </table> <table> <tr> <td width="50%" valign="top"> <img src="docs/images/showcase-palette.png" alt="The command palette with search results and a facet filter" width="100%" /> <h3>Command palette</h3> Press <kbd>Cmd</kbd>+<kbd>K</kbd> to jump to anyone, filter by company or tag, or log a quick note without ever lifting your hands from the keyboard. </td> <td width="50%" valign="top"> <img src="docs/images/showcase-map.png" alt="The map with clusters of people and the People pane" width="100%" /> <h3>Map</h3> Planning a trip? See everyone you know in a city at a glance. Draw a loop around a neighborhood to select everyone there and add them to a dinner list. </td> </tr> </table> <table> <tr> <td width="50%" valign="top"> <img src="docs/images/showcase-accounts.png" alt="Accounts: multiple family or team profiles with isolated address books" width="100%" /> <h3>Multiple profiles, one home</h3> Run one Contrack for your family or team. Invite someone with a link or create their profile in seconds. Every person gets their own private address book, notes, and reminders. </td> <td width="50%" valign="top"> <img src="docs/images/showcase-backups.png" alt="Backups: verified snapshots of your database" width="100%" /> <h3>Verified backups</h3> Your history is irreplaceable. Take a complete, integrity-checked snapshot of your address book in one click, or let Contrack back itself up automatically on your schedule. </td> </tr> </table> <table> <tr> <td width="50%" valign="top"> <img src="docs/images/showcase-mcp.png" alt="Settings, MCP and API: connecting Claude, Cursor and other clients" width="100%" /> <h3>Works with your AI assistant</h3> Connect Claude, ChatGPT, or Cursor in one click so your favorite assistant can look up context and log notes for you, with read-only access whenever you prefer. </td> <td width="50%" valign="top"> <img src="docs/images/showcase-phone.png" alt="Contrack on a phone: Pulse and a contact page" width="100%" /> <h3>Right in your pocket</h3> Add Contrack to your phone's home screen. Before you walk into coffee or a meeting, every note and detail is one tap away. </td> </tr> </table>

And everything else you expect: rich notes with file & image attachments, @mentions that link people together, custom dates and anniversaries, lists and tags, passkey sign-in, a 90-day trash with undo, open exports anytime, and warm light and dark themes.

Privacy

Privacy isn't a setting. It's the foundation. Contrack lives on your own computer or home server. Your relationships aren't training anyone's model, sitting on a rented cloud, or locked behind a monthly subscription. Search happens right on your device.

Share one home server with your family or team while keeping everyone's address book completely private to them. And when you want AI to research a contact or turn a quick note into a rich profile, you bring the model you trust, or use none at all.

Comparing personal CRMs?

Start in a minute

Run Contrack on your machine with Docker:

docker run -d --name contrack -p 127.0.0.1:3210:3210 \
  -v contrack-data:/app/data ghcr.io/arvarik/contrack:latest

Then open http://localhost:3210. There is no cloud account to sign up for and no API key required. Everything stays in your contrack-data folder. Whenever you want AI features, open Settings → Administration → AI.

<details> <summary><b>Other ways to run it</b></summary> <br/>

Docker Compose with the published image:

services:
  contrack:
    image: ghcr.io/arvarik/contrack:latest
    container_name: contrack
    restart: unless-stopped
    ports:
      - "127.0.0.1:3210:3210"
    volumes:
      - contrack-data:/app/data
    environment:
      - AUTH_REQUIRED=false # Set to true before exposing beyond localhost

volumes:
  contrack-data:

Or build the image from this repository:

git clone https://github.com/arvarik/contrack.git && cd contrack
docker compose up -d

From source, with Node.js 26.10 or later:

git clone https://github.com/arvarik/contrack.git && cd contrack
npm install
npm run dev

For your household or team: turn on sign-in with -e AUTH_REQUIRED=true. Your first visit creates the admin profile, and you can invite family or teammates from Settings → Administration → Accounts. See the Self-hosting guide for remote access, backups, and upgrades.

</details>

Try it in your browser

Open in GitHub Codespaces

Open a live demo in your browser preloaded with 400 fictional people, with no installation and no API key needed.

<br/> <!-- prettier-ignore-start --> <div align="center"> <div><a href="CONTRIBUTING.md"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r1-l-dark.svg" /><img src="docs/brand/tree/r1-l.svg" alt="Contribute: Send a change" width="50%" align="top" /></picture></a><a href="CODE_OF_CONDUCT.md"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r1-r-dark.svg" /><img src="docs/brand/tree/r1-r.svg" alt="Contribute: Code of Conduct" width="50%" align="top" /></picture></a></div> <div><a href="AGENTS.md"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r2-l-dark.svg" /><img src="docs/brand/tree/r2-l.svg" alt="Contribute: Agent instructions" width="50%" align="top" /></picture></a><a href="CHANGELOG.md"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r2-r-dark.svg" /><img src="docs/brand/tree/r2-r.svg" alt="Contribute: What changed" width="50%" align="top" /></picture></a></div> <div><a href="docs/README.md"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r3-l-dark.svg" /><img src="docs/brand/tree/r3-l.svg" alt="Get help: Read the docs" width="50%" align="top" /></picture></a><a href="LICENSE"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r3-r-dark.svg" /><img src="docs/brand/tree/r3-r.svg" alt="License: GNU AGPL v3" width="50%" align="top" /></picture></a></div> <div><a href="https://github.com/arvarik/contrack/discussions/categories/q-a"><picture><source media="(prefers-color-scheme: dark)" srcset="docs/brand/tree/r4-l-dark.svg" /><img src="docs/brand/tre

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars48
CategoryOperations
Updated9h ago
Forks3

Languages

TypeScript

Trust signals

97/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info