Recordcrm

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026

Attio CRM records, companies, deals, lists, and members via the Attio API.

VerifiedSTDIODesktop onlyBusiness & Commerce

Overview

Recordcrm's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Recordcrm in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

recordcrm

recordcrm is a small client for the Attio CRM: it searches records with free-text or structured filters, creates records in any object, reads a single record or an attribute's definition and options, creates and updates company and deal records, lists workspace lists and their entries, and looks up workspace members — all through the Attio API v2.

This package is a clean-room rebuild, and a labelled core subset: it covers 12 of the 19 universal operations plus scoped writes documented for the original Attio MCP server. The omitted operations are listed under "Scope" below.

How it talks to the service

Every tool needs an Attio API token:

bash
export ATTIO_API_KEY="your token"# ATTIO_ACCESS_TOKEN is accepted as a fallback when ATTIO_API_KEY is unset.# Optional override (default: https://api.attio.com/v2)export ATTIO_API_URL="https://api.attio.com/v2"

With no token set, every call fails with an error naming ATTIO_API_KEY, before any request is made.

Wire-format note: the original project's README documents the tools and their purposes; the endpoint shapes here follow the public Attio API v2 and are documented reconstructions. Records live under /v2/objects/{object}/records; record search posts to the records query endpoint (.../records/query) with a full_text query clause when a query is given, or a filter object for advanced search; writes wrap attribute values as { "data": { "values": ... } }; attribute options are read from the attribute definition at /v2/objects/{object}/attributes/{attribute}. Responses are parsed as JSON (an empty success body reads as { "status": "ok" }), and an upstream HTTP error is reported with its status and body text.

Install

bash
npx @reneturcios/recordcrm records_search '{"object":"companies","query":"acme"}'

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/recordcrm

The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.

CLI

The CLI mirrors the tools: one subcommand per tool, taking its arguments as a single JSON object.

bash
recordcrm records_search '{"object":"companies","query":"acme","limit":5}'recordcrm records_search_advanced '{"object":"companies","filters":{"name":{"$contains":"acme"}}}'recordcrm records_create '{"object":"people","data":{"name":[{"value":"Ada"}]}}'recordcrm records_get_info '{"object":"people","record_id":"..."}'recordcrm lists_list '{}'recordcrm --version

Exit codes: 0 on success, 1 on an API or validation error (the error names the problem), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/recordcrm mcp

MCP client configuration:

json
{  "mcpServers": {    "recordcrm": {      "command": "npx",      "args": ["-y", "@reneturcios/recordcrm", "mcp"],      "env": { "ATTIO_API_KEY": "your token" }    }  }}

Tools

ToolInputWhat it does
records_searchobject (required), query, limitSearch records in an object by free-text query.
records_search_advancedobject (required), filters (required), limitSearch records in an object with structured filters.
records_createobject (required), data (required)Create a record in an object from attribute values.
records_get_infoobject (required), record_id (required)Fetch one record by ID from an object.
records_get_attribute_optionsobject (required), attribute (required)Get an attribute definition, including its select options.
companies_createdata (required)Create a company record from attribute values.
companies_updaterecord_id (required), data (required)Update a company record by ID.
deals_createdata (required)Create a deal record from attribute values.
deals_updaterecord_id (required), data (required)Update a deal record by ID.
lists_list—List all lists in the workspace.
list_entries_listlist (required), limitList entries in a list.
workspace_members_getworkspace_member_id (required)Fetch one workspace member by ID.

Scope

Omitted from this core subset: records_search_by_relationship, records_get_interactions, records_batch, the universal records_update / records_delete operations, lists_create, lists_update_configuration, list_entries_filter, list_entries_manage, records_get_list_memberships, diagnostics_get, and the universal notes/tasks operations. The original's field-mapping configuration is also not reproduced: this subset passes attribute values and filters through in Attio API shape directly. Search results, record contents, and list data are produced by the upstream Attio service; this package reproduces the tool surface and the request/response handling, not that service's data.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, fake fetch only, no networknpm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Source: README.md at commit 8040369

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 3, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts