little-compass-mcp
v0.1.2
Published
Authenticated Little Compass travel CRM MCP connection for desktop assistants
Maintainers
Readme
Little Compass MCP
Connect Claude Desktop, Claude Code, Codex, and other stdio MCP clients to your Little Compass travel CRM. Requires Node.js 22.14 or later and a Little account with access to an agency workspace.
Connect
npx --yes [email protected] loginSign into Little, select your agency, enter the connection purpose and review access. Default access covers identity and CRM reads. For advisors, team leaders and owners, request CRM drafts, ordinary booking reminder lifecycle, agency submission reporting, reviewed proposal publication and personal onboarding controls with:
npx --yes [email protected] login --scopes advisorReview these permissions in Little. Existing connections gain no new scopes; run login again to consent to newly supported workflow commands.
Proposal publication needs separate proposals:publish plus records:read consent. Join every preview JSON chunk; only the terminal chunk returns the publication reviewHash. Publishing creates the native invitation and sends no email. Bearer links stay outside MCP; use native reviewed invitation recovery to share later.
Owners can update existing contact name, phone and private notes with separate
client-details:manage and records:read consent. Read the current stateVersion
from get_client or get_record_context summary, then retry the exact UUID/input
after uncertain results. Changed email addresses require reviewed native
reassociation. Existing credentials gain no permission automatically.
Agency owners can review all currently enabled tools, including owner operations:
npx --yes [email protected] login --scopes all
npx --yes [email protected] statusAdd this to your assistant's MCP configuration:
{
"mcpServers": {
"little-compass": {
"command": "npx",
"args": ["--yes", "[email protected]"]
}
}
}For Claude Code:
claude mcp add little-compass -- npx --yes [email protected]For Codex:
codex mcp add little-compass -- npx --yes [email protected]Restart the assistant connection after login. MCP tool discovery comes directly from Little: your reviewed scopes, role, agency membership, feature availability and current record permissions determine the tools and records you can access. The package does not keep a second tool catalog or bypass the CRM's write rules. Full consent does not grant roles or turn on unavailable product features.
Vacation supplier searches use that same connection and the records:read scope.
After the backend change is deployed, get_vacation_search_status reports this
agency's resort coverage and search_vacation_stays searches verified properties
when production supplier access is configured. Missing credentials or brand
coverage return an explicit unavailable result. Provider keys stay on the backend;
they are never added to your assistant configuration. Disney Cruise Line price
research uses search_latest_cruises with company: "disney". These tools do not
make reservations or payments. See the repository's
provider setup notes for activation
requirements and the pending Traveltek and Trisept integrations.
The all preset includes owner scopes and cannot be authorized by staff. Staff
should use advisor or an explicit list of scopes their role permits.
Complete evidence reads
The package exports readComplete(client, discoveredTool, arguments)
for direct payout-invoice, coaching-policy, cost-allocation, receipt-review,
statement-intake, supplier-collection, published-performance, private financial-performance, reporting-definition, goal, authored compensation, financial-close, insurance-finance and agency program billing reads. Pass the
tool definition returned by current discovery. It requires readOnlyHint: true
and a supported snapshot.continuation protocol; it never automates writes.
Complete evidence reads require the corresponding backend continuation protocol
to be deployed before they are available through the published npm connection.
import { readComplete } from 'little-compass-mcp';
const evidence = await readComplete(client, discoveredTool, originalArguments);
// JSON: evidence.value; directories: evidence.rows and complete evidence.pages.Protocol version 1 uses the existing cursor argument. kind: "json" joins
exact jsonChunk values in offset order, verifies a fixed evidence hash and
length, and parses only on action: "done". Native fixedArguments preserve
a generated coaching review deadline across chunks. kind: "directory" uses
advance, split, retry or done. A split drains (cursor, splitCursor]
and (splitCursor, continueCursor] through endCursor, recursively, before
resuming the original range; terminal splits also drain both children. Retry
preserves the same range at limit 1. Empty nonterminal pages still advance.
Cursor values remain in their existing fields; metadata duplicates no tokens.
Whole JSON reads start without a cursor; resume a partial artifact through the
original tool and its guide. Directory cursor/endCursor inputs select the exact
range to complete.
Every call retains original filters and rechecks current native authority.
Failures and the default 1,000-call budget return no partial success. Pass
{ maxCalls, signal } as the fourth argument to bound or cancel a read. Restart
after tool, filter, authority or evidence changes. Directory pages remain live
views, rather than frozen population totals. Complete reads do not supply
human approval, domain authorization or evidence omitted by the native tool.
Nested cursor readers retain their canonical guide and existing protocol.
Connection lifetime and privacy
New Little MCP connections last up to 365 days. You or your agency owner can revoke them at any time; current membership and permissions are checked on every call. Existing connections keep their original expiration and require one new login to receive the longer lifetime. After expiration, log in again and restart the assistant connection. There is no automatic replay of failed writes; check Little and keep the original operation/request ID before retrying.
Credentials are stored in ~/.config/little-compass-mcp/session.json, accessible
only to your OS user. They are not printed or included in assistant settings.
The callback listens only on 127.0.0.1:54876 while logging in and closes after
completion or five minutes. Only one login can use that port at a time.
npx --yes [email protected] logoutLogout removes local credentials. To revoke server access immediately, use
Little's Settings → Connections page; agency owners can also revoke access.
Do not share session files, private consent links, tokens or authorization codes.
For a terminal without automatic browser launch, use login --no-browser and
open the displayed private link yourself.
Hosted connection
Default server: https://industrious-clownfish-714.convex.site/mcp.
The public npm package is a stdio connection to this authenticated hosted server;
CRM data remains behind Little's account and agency authorization.
An alternate Little deployment can be selected with --server https://host/mcp,
but it must register client little-compass-mcp with the exact callback
http://127.0.0.1:54876/callback. Sessions are bound to the server they authorize.
Support: [email protected]. Website: Little Compass.
Releasing the 365-day connection update
Publish package 0.1.1 before deploying the backend lifetime change and the
updated connection setup UI. Version 0.1.0 rejects token lifetimes over one hour;
users of that version must update their assistant's package entry to 0.1.1 and
run login again. Existing tokens keep their recorded expiration. This release
does not extend existing consent, create refresh tokens or replay tool calls.
Security update in 0.1.2
Version 0.1.2 updates the MCP SDK to 1.32.2 and Zod to 4.6.7, and
refreshes the dependency lockfile to patched transitive versions. Update any
assistant configuration pinned to 0.1.1 to 0.1.2 and restart the MCP
connection. Existing valid sessions remain usable; this update adds no scopes.
