{"_id":"@bossforce.ai/mcp-salesforce","name":"@bossforce.ai/mcp-salesforce","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bossforce.ai/mcp-salesforce","version":"0.1.0","type":"module","repository":{"type":"git","url":"git+https://github.com/bossforce-ai/bossforce-tools.git","directory":"mcps/crm/salesforce"},"publishConfig":{"access":"public"},"bin":{"bossforce-mcp-salesforce":"dist/bin.js"},"dependencies":{"zod":"^4.4.3","@bossforce.ai/mcp-core":"0.3.0"},"devDependencies":{"@bossforce.ai/mcp-testkit":"0.0.0"},"scripts":{"build":"tsc -p tsconfig.json","test":"node --test \"dist/*.test.js\""},"_id":"@bossforce.ai/mcp-salesforce@0.1.0","description":"MCP server for the Salesforce **REST API**. Run SOQL queries and read, create and update records on any Salesforce object. Authenticated with OAuth2 using the refresh-token grant; the server exchanges a refresh token for short-lived access tokens and disc","bugs":{"url":"https://github.com/bossforce-ai/bossforce-tools/issues"},"homepage":"https://github.com/bossforce-ai/bossforce-tools#readme","_integrity":"sha512-GcOKjL24kQh83m6CJ7ypHFJT2Qj9JMoloW3fbsvrXmezQYydVUydaqyZFzk5IpoLSwArkLIX/D6xvRqDWFQ96Q==","_resolved":"C:\\Users\\user\\AppData\\Local\\Temp\\0323347c839b4102e5373dfa47a04590\\bossforce.ai-mcp-salesforce-0.1.0.tgz","_from":"file:bossforce.ai-mcp-salesforce-0.1.0.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-GcOKjL24kQh83m6CJ7ypHFJT2Qj9JMoloW3fbsvrXmezQYydVUydaqyZFzk5IpoLSwArkLIX/D6xvRqDWFQ96Q==","shasum":"aec44605561f5d4b2e30b65ebeb4c392a447fafd","tarball":"https://registry.npmjs.org/@bossforce.ai/mcp-salesforce/-/mcp-salesforce-0.1.0.tgz","fileCount":26,"unpackedSize":28735,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIARD8WukYy919nhdAXp7T3j5bTGj74k0vUoT+WOacBKiAiBPs6k3p4uH3Vyn6ZWc1KIL8MTctwKQFgjfZalEw8Ov1g=="}]},"_npmUser":{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"},"directories":{},"maintainers":[{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-salesforce_0.1.0_1781237916021_0.8020364641724864"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-12T04:18:35.875Z","0.1.0":"2026-06-12T04:18:36.157Z","modified":"2026-06-12T04:18:36.359Z"},"maintainers":[{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"}],"description":"MCP server for the Salesforce **REST API**. Run SOQL queries and read, create and update records on any Salesforce object. Authenticated with OAuth2 using the refresh-token grant; the server exchanges a refresh token for short-lived access tokens and disc","homepage":"https://github.com/bossforce-ai/bossforce-tools#readme","repository":{"type":"git","url":"git+https://github.com/bossforce-ai/bossforce-tools.git","directory":"mcps/crm/salesforce"},"bugs":{"url":"https://github.com/bossforce-ai/bossforce-tools/issues"},"readme":"# @bossforce.ai/mcp-salesforce\n\nMCP server for the Salesforce **REST API**. Run SOQL queries and read, create\nand update records on any Salesforce object. Authenticated with OAuth2 using the\nrefresh-token grant; the server exchanges a refresh token for short-lived access\ntokens and discovers the org's instance URL automatically.\n\n## Credentials\n\n| Env                        | How to obtain                                                                                                              |\n| -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| `SALESFORCE_CLIENT_ID`     | Consumer Key of the connected app (provided by the platform as the OAuth `client_id`).                                     |\n| `SALESFORCE_CLIENT_SECRET` | Consumer Secret of the connected app (the OAuth `client_secret`).                                                          |\n| `SALESFORCE_REFRESH_TOKEN` | Obtained automatically when you authorize access. Exchanged for access tokens.                                             |\n| `SALESFORCE_LOGIN_URL`     | OAuth login host. Defaults to `https://login.salesforce.com`; use `https://test.salesforce.com` for a sandbox. Not secret. |\n\nThe credentials are read lazily, so the server boots and answers `tools/list`\nwithout them; calls fail with an `auth` error until they are set. On the first\ncall the client POSTs the refresh token to\n`{login_url}/services/oauth2/token` (`grant_type=refresh_token`, with\n`client_id`, `client_secret` and `refresh_token` in the form body), caches the\nreturned `access_token`, captures the `instance_url` from the response, and\nre-fetches once on a `401`. The data API base is\n`{instance_url}/services/data/v60.0`.\n\n## Tools\n\n| Tool            | Arguments                      | Returns                                      |\n| --------------- | ------------------------------ | -------------------------------------------- |\n| `soql_query`    | `soql`                         | `totalSize`, `done`, `records` (and locator) |\n| `get_record`    | `sobject_type`, `id`           | the record's fields                          |\n| `create_record` | `sobject_type`, `fields`       | the new record `id` and a `success` flag     |\n| `update_record` | `sobject_type`, `id`, `fields` | no content on success                        |\n\nResponses are Salesforce's native JSON payloads, returned as\n`structuredContent`. `fields` uses each object's field API names (e.g.\n`LastName`, `Email` on a Contact).\n\n## Develop\n\n```bash\npnpm --filter @bossforce.ai/mcp-salesforce build\npnpm --filter @bossforce.ai/mcp-salesforce test\n```\n\nRegenerate the tools/list snapshot after an intentional signature change:\n\n```bash\nUPDATE_SNAPSHOTS=1 pnpm --filter @bossforce.ai/mcp-salesforce test\n```\n","readmeFilename":"README.md","_rev":"1-02c7d56cf8130384f27c59d90b1a17ba"}