friends-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FRIENDS_DIR | Yes | Path to the friends directory (can also be provided via --dir flag, flag wins when both set). One of --dir or FRIENDS_DIR is required. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| resolve_partyA | Resolve an external identity (provider + externalId on a channel) into a friend record, creating one on first contact. Returns { friend, channel, created }. |
| describe_trustA | Explain the trust context for a friend: level, basis (direct/shared_group/unknown), what it permits and constrains. |
| get_friendA | Fetch a single friend record by uuid or by name. |
| list_friendsB | List friend records, optionally filtered by trust level and kind, optionally limited. |
| save_noteB | Save a friend's name, a tool preference, or a general note. Use override='true' to overwrite an existing value. |
| record_interactionB | Record a turn with a friend: accumulate token usage and/or append a shared-mission outcome (bumping familiarity). |
| upsert_groupB | Upsert shared-group participant context: link each participant to the group, promoting strangers to acquaintances. |
| set_trustB | Set a friend's trust level (also mirrors it onto the record's role). |
| link_identityA | Link an external identity to a friend, merging any orphan record that already holds it (cross-channel unification). |
| unlink_identityC | Remove an external identity from a friend. |
| onboard_agentA | Upsert an agent-peer friend record from already-resolved coordinates (no HTTP card fetch). |
| whoamiB | Resolve who the machine owner is and which friend record represents the self. |
| channel_capsB | Return the capabilities of a channel (integrations, markdown, streaming, rich cards, max length). |
| share_profileA | Reserved (P1): share a friend's profile with another agent. Returns { supported: false } until federation lands. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose: channel capabilities, trust description, friend retrieval, identity linking, listing, onboarding, interaction recording, resolution, note saving, trust setting, profile sharing (reserved), unlink, group upsert, and self-identification. No two tools overlap in functionality.
Most tools follow a consistent verb_noun pattern (e.g., get_friend, set_trust), but channel_caps and whoami deviate slightly. Despite these minor exceptions, the naming is clear and predictable overall.
14 tools is well-scoped for a friends management server covering identity linking, trust, groups, notes, and interactions. Each tool addresses a specific need without unnecessary redundancy or bloat.
The surface covers core friend lifecycle, trust, identity linking, and group management. Minor gaps exist: no explicit delete/archive friend, no group retrieval beyond upsert, and no interaction querying. However, save_note can update friend names, and the set of tools is adequate for most agent workflows.