Documentation

Docs

Everything a technical reviewer — or a CCO’s outside consultant — needs to verify how agentdatasync works: a reference server you can run in five minutes, the document library, the permissions model, and the audit-log format, specified to the field.

Connect the reference server in 5 minutes

The reference server is a small, readable MCP server that serves a synthetic dataset — a fictional 14-household firm, no real client data — through the same five read-only tools and the same audit logging as the product. It ships with the full agentdatasync package; if you received this site as part of that package, the source is in the mcp-server/ folder next to it.

1. Get the source and build

Requires Node.js 20+. The server is TypeScript; the build compiles it to build/index.js.

# The mcp-server/ folder ships with the full agentdatasync package.
# If you received it as a repository checkout:
git clone <your-package-url> agentdatasync
cd agentdatasync/mcp-server

npm install
npm run build

2. Point your MCP client at it

Add this to your client’s MCP configuration — claude_desktop_config.json for Claude Desktop, or your project’s .mcp.json / MCP settings for Claude Code. Use the absolute path to the folder on your machine.

{
  "mcpServers": {
    "agentdatasync": {
      "command": "node",
      "args": ["/absolute/path/to/agentdatasync/mcp-server/build/index.js"]
    }
  }
}

Restart the client. The server starts over stdio, loads the synthetic dataset, and begins appending to its audit log from the first tool call. There is no network listener and no account to create.

3. Inspect it with MCP Inspector

The MCP Inspector connects to the server and lets you call each tool by hand — the fastest way to see exactly what an agent can and cannot do.

npx @modelcontextprotocol/inspector node build/index.js

What you should see: the Inspector opens in your browser, connects over stdio, and its Tools tab lists exactly five tools — no more:

ToolWhat it does (all read-only)
list_householdsList all households at the firm.
list_clientsList clients, optionally filtered to one household.
get_clientGet one client by ID, with their accounts and household.
search_notesKeyword search over client notes; returns matches with client context.
list_accountsList accounts, optionally filtered by client or household.

Call get_client with a sample ID such as CL-001, then check the server’s audit log file: a new JSON line records the call — timestamp, tool, arguments, result count, and duration. Then try to find a write tool. There isn’t one; that absence is the design.

Document library

The written record behind the marketing pages. Every document below is published and bundled with this site.

AVAILABLE

Security & audit whitepaper

The full control story: scope and data flow, a control-by-control mapping to Regulation S-P (safeguards, incident response, the 30-day customer-notification clock, service-provider oversight and the 72-hour term) and to Rule 204-2’s books-and-records requirements, a threat model, and an explicit list of what we claim and what we do not. Written to be handed to a CCO or an outside compliance consultant as-is.

whitepaper-security-audit.md · PDF

IN PROGRESS

Onboarding runbook

The step-by-step engagement: exporting from your CRM, running the cleanup, CCO review and sign-off of the cleaned dataset, setting the permissions matrix, connecting the first agent, and the first monthly audit review. Includes the checklist your ops team works from.

onboarding-runbook.md · PDF

IN PROGRESS

Data-handling one-pager

One page for your vendor file: what data agentdatasync receives, where it lives, who can access it, sub-processors, retention, the 72-hour incident-notification commitment, and deletion at contract end — the answers your Reg S-P service-provider due diligence will ask for, on a single sheet.

data-handling-one-pager.md · PDF

IN PROGRESS

FAQ

The questions firms actually ask: which CRMs we work from, which agents and MCP clients are supported, what happens to the cleaned data if you cancel, how denials surface to users, and what the Audit tier adds over the base log.

faq.md · PDF

TEMPLATE

CRM export template (CSV)

The column layout the Scorecard and the cleanup process expect: client_id, first_name, last_name, email, phone, dob, state, household_id, household_name, account_number, account_type, notes — one row per account, client fields repeated. The Scorecard also accepts common aliases, so most native CRM exports work unmodified.

crm-export-template.csv (template — the fictional sample used by the Scorecard is bundled with this site as sample-crm-export.csv)

REFERENCE

This site’s sample data

The fictional CRM export behind the Scorecard’s “Try it with sample data” button: 28 clients, 42 accounts, duplicates and formatting defects planted on purpose. Useful for testing the reference server and the Scorecard without touching real data — which is also the rule for everything here: evaluate on synthetic data first.

sample-crm-export.csv

Permissions matrix — summary

Permissions are granted per agent and per data domain, default to denied, and are set with the CCO during onboarding. An out-of-scope call is refused and the refusal is written to the audit log. Changes to the matrix are themselves logged. The matrix below is the illustrative starting configuration from the Audit tier page.

Data domainMeeting-prep agentClient Q&A agentOps reporting agent
Households & client identityReadReadRead
Contact details (email, phone)ReadReadCounts only
Client notes (search)ReadOwn clients onlyDenied
Account types & listingsReadDeniedRead
Write, export, or bulk downloadDeniedDeniedDenied

Two invariants hold for every firm’s matrix, regardless of configuration: the tools are read-only (there is no write capability to grant), and every call — allowed or denied — is logged.

Audit-log format specification

The audit log is JSON Lines: one JSON object per line, UTF-8, appended in execution order, never rewritten in place. Any tool that reads text files can read it; exports need no proprietary viewer.

Audit tier fields

FieldTypeMeaning
tsstring (ISO 8601, UTC)When the query executed.
agent_idstringIdentity of the calling agent.
userstringFirm user the agent acted on behalf of.
toolstringMCP tool invoked.
args_hashstringSHA-256 of the canonical argument JSON.
args_summarystringRedacted summary: IDs and search terms only; never note bodies.
records_touchedarray of stringsClient/household IDs read or attempted.
result_countintegerRecords returned (0 for denials and empty results).
outcomestringok, error, or a denial code such as denied_out_of_scope.
duration_msintegerExecution time.

Reference server format

The downloadable reference server writes the core subset of the same record, so the approach can be verified locally before any engagement:

{"timestamp":"2026-10-20T13:02:11.204Z","tool":"get_client","arguments":{"client_id":"CL-001"},"result_count":1,"duration_ms":3}

Fields: timestamp (ISO 8601), tool, arguments (as received), result_count, duration_ms. Failed calls are logged the same way, with result_count 0. Retention and indexing in the Audit tier are designed to support Rule 204-2’s five-year retention with the first two years easily accessible (sourced: 17 CFR §275.204-2) — your firm remains responsible for its own recordkeeping determinations; this documentation is not legal advice.

Run the free Scorecard Read about the Audit tier