{
  "markdown": "# LocalTry MCP\n\nUse LocalTry from ChatGPT and other MCP clients while keeping every business\nstrictly isolated.\n\nLocalTry MCP is a remote Model Context Protocol server for operating a LocalTry\nCRM with plain-language instructions. It runs on Cloudflare Workers, uses OAuth\n2.1, and binds every connection to one verified LocalTry user, business, role,\nand permission set.\n\n## What it enables\n\n- Search customers, companies, contacts, leads, jobs, estimates, and invoices.\n- Create and update validated CRM records.\n- Create tenant-owned AI agents that become available in Flow Studio.\n- Inspect the complete tenant workspace architecture.\n- Search every registered page, action, agent, integration, and tenant addition.\n- Submit tenant-only workspace customizations through LocalTry Builder.\n- Run saved workflows.\n- Ask LocalTry Command to carry out multi-step business operations.\n- Review customization versions and restore an earlier version.\n- Read a tenant-scoped activity and audit history.\n\n## Available tools\n\n| Tool | Purpose |\n| --- | --- |\n| `get_workspace_overview` | Inspect the connected business's pages, modules, fields, workflows, integrations, and customization history. |\n| `search_localtry_features` | Find the exact registered LocalTry page, action, agent, integration, or tenant addition before acting. |\n| `search_crm` | Search tenant-scoped CRM records without exposing raw SQL. |\n| `create_or_update_crm_record` | Create or update a validated CRM record. |\n| `create_workflow_agent` | Describe and save a tenant-owned AI agent for use in Flow Studio workflows. |\n| `request_workspace_customization` | Submit the same tenant-scoped engineering request as the Customize Workspace prompt. |\n| `get_workspace_customization_status` | Read the latest customization conversation, progress, questions, and result. |\n| `list_workspace_versions` | Review the workspace's customization history. |\n| `restore_workspace_version` | Restore an approved earlier version for the connected workspace. |\n| `run_workflow` | Run one of the business's saved workflows. |\n| `run_localtry_command` | Use LocalTry Command for verified, multi-step CRM and business operations. |\n| `get_recent_activity` | Review recent CRM, workflow, and customization activity. |\n\n## The tenant boundary\n\nThere is one shared MCP service, but every authorization is logically private.\nThe client cannot supply or change a tenant identifier.\n\n```text\nMCP client\n  -> LocalTry OAuth consent\n  -> token bound to user + business + role + scopes\n  -> LocalTry MCP Worker\n  -> private Cloudflare service binding\n  -> LocalTry domain services\n  -> business-scoped data and workspace runtime\n```\n\nThe MCP Worker does not receive a database binding. It can reach LocalTry only\nthrough the private service contract in\n[`docs/localtry-bridge-contract.md`](docs/localtry-bridge-contract.md).\n\n## Remote endpoint\n\nThe production endpoint is live:\n\n```text\nhttps://mcp.localtry.com/mcp\n```\n\nHealth check:\n\n```text\nhttps://mcp.localtry.com/health\n```\n\nClients discover OAuth 2.1 metadata automatically. Authorization supports\nPKCE, dynamic client registration, short-lived access tokens, and refresh\ntokens. Users sign in to LocalTry and approve one visible workspace; no LocalTry\nAPI key is copied into the MCP client.\n\n## Local development\n\nRequirements: Node.js 20 or newer and a Cloudflare account.\n\n```bash\nnpm install\nnpm run types\nnpm run check\nnpm run dev\n```\n\nCreate an OAuth KV namespace and replace the placeholder namespace ID in\n`wrangler.jsonc`:\n\n```bash\nnpx wrangler kv namespace create OAUTH_KV\n```\n\nThe `LOCALTRY_API` service binding must point to the named\n`LocalTryMcpBridge` WorkerEntrypoint exported by the LocalTry CRM deployment.\n\nSee the [bridge contract](docs/localtry-bridge-contract.md) for the exact trust\nboundary.\n\n## ChatGPT\n\nChatGPT supports remote MCP apps through developer mode. See\n[`docs/chatgpt.md`](docs/chatgpt.md) for the connection flow and current plan\nrequirements. Creating a private custom app connects this server to a ChatGPT\naccount or workspace; publishing in the public ChatGPT app directory is a\nseparate OpenAI review process.\n\nThe non-secret public-review listing, starter prompts, test cases, and release\nnotes are maintained in\n[`docs/openai-submission.md`](docs/openai-submission.md).\n\n## Design principles\n\n- No raw SQL tool.\n- No tenant ID tool argument.\n- No secret-reading tool.\n- Goal-oriented tools instead of mirroring the entire API.\n- Explicit approval for consequential workspace changes.\n- Versioning, audit events, and restore support.\n- Permission checks in both the MCP Worker and the CRM domain layer.\n\n## Status\n\nProduction is deployed at `mcp.localtry.com`. OAuth authorization, refresh\ntokens, MCP initialization, tool discovery, tenant binding, and a live workspace\nread have been verified end to end. The public Worker reaches the CRM only\nthrough a private Cloudflare service binding and has no database binding.\n\n## License\n\nMIT\n",
  "bytes": 4976,
  "sha": "3f1199449b24d481cd5fa6da17ca9ee48a7e2c2f3ad1c7a4e1474039992c2624",
  "repo_slug": "philly88r/localtry-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_philly88r_localtry_mcp_42689b52/readme"
}