@imazhar101/salesforce-mcp-jsforce 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /** Package identity (kept in sync with package.json). */
2
2
  export declare const PKG_NAME = "salesforce-mcp-jsforce";
3
- export declare const PKG_VERSION = "0.1.0";
3
+ export declare const PKG_VERSION = "0.2.0";
4
4
  /** Salesforce REST API version used for all jsforce connections. */
5
5
  export declare const DEFAULT_API_VERSION: string;
6
6
  /**
package/dist/config.js CHANGED
@@ -2,7 +2,7 @@ import os from "node:os";
2
2
  import path from "node:path";
3
3
  /** Package identity (kept in sync with package.json). */
4
4
  export const PKG_NAME = "salesforce-mcp-jsforce";
5
- export const PKG_VERSION = "0.1.0";
5
+ export const PKG_VERSION = "0.2.0";
6
6
  /** Salesforce REST API version used for all jsforce connections. */
7
7
  export const DEFAULT_API_VERSION = process.env.SF_API_VERSION || "62.0";
8
8
  /**
package/dist/server.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { CredentialResolver } from "./auth.js";
3
3
  /**
4
- * Build a fully wired MCP server. `getCreds` is invoked lazily, once per tool
5
- * call so `tools/list` works with no token present, and the HTTP host can
6
- * hand each request its own per-caller credentials.
4
+ * Build a fully wired MCP server. Credentials resolve lazily, once per tool
5
+ * call: a per-request `_sfAuth` (gateway-injected) wins; otherwise the supplied
6
+ * resolver (env/token-file) is used. `tools/list` works with no token present.
7
7
  *
8
8
  * @param readOnly when true, write tools are not registered at all.
9
9
  */
package/dist/server.js CHANGED
@@ -13,51 +13,87 @@ function fail(error) {
13
13
  };
14
14
  }
15
15
  /**
16
- * Build a fully wired MCP server. `getCreds` is invoked lazily, once per tool
17
- * call so `tools/list` works with no token present, and the HTTP host can
18
- * hand each request its own per-caller credentials.
16
+ * Optional per-request credentials. An MCP gateway running this server as a
17
+ * pooled stdio child injects each caller's BYO token into `_sfAuth` per
18
+ * `tools/call`, so one process can serve many users at their own permission
19
+ * level without the gateway storing any Salesforce credentials. In direct
20
+ * (single-user) use this is omitted and the env/token-file resolver is used.
21
+ */
22
+ const BYO_AUTH = {
23
+ _sfAuth: z
24
+ .object({
25
+ accessToken: z.string(),
26
+ instanceUrl: z.string(),
27
+ apiVersion: z.string().optional(),
28
+ })
29
+ .optional()
30
+ .describe("Internal: per-request Salesforce credentials injected by an MCP gateway. " +
31
+ "Leave unset in direct use — the server falls back to env/token-file creds."),
32
+ };
33
+ function perCallCreds(args) {
34
+ const a = args?._sfAuth;
35
+ if (a && a.accessToken && a.instanceUrl) {
36
+ return { accessToken: a.accessToken, instanceUrl: a.instanceUrl, apiVersion: a.apiVersion };
37
+ }
38
+ return undefined;
39
+ }
40
+ /**
41
+ * Build a fully wired MCP server. Credentials resolve lazily, once per tool
42
+ * call: a per-request `_sfAuth` (gateway-injected) wins; otherwise the supplied
43
+ * resolver (env/token-file) is used. `tools/list` works with no token present.
19
44
  *
20
45
  * @param readOnly when true, write tools are not registered at all.
21
46
  */
22
47
  export function buildServer(getCreds, readOnly = READ_ONLY) {
23
48
  const server = new McpServer({ name: PKG_NAME, version: PKG_VERSION }, { capabilities: { tools: {} } });
24
- const conn = () => sf.makeConnection(getCreds());
49
+ const conn = (args = {}) => sf.makeConnection(perCallCreds(args) ?? getCreds());
25
50
  // ── Read tools ───────────────────────────────────────────────────────────────
26
- server.tool("salesforce_identity", "Return the identity (user, org, instance) of the supplied token. Use this to confirm the connection is authenticated.", {}, async () => {
51
+ server.tool("salesforce_identity", "Return the identity (user, org, instance) of the supplied token. Use this to confirm the connection is authenticated.", { ...BYO_AUTH }, async (args) => {
27
52
  try {
28
- return ok(await sf.identity(conn()));
53
+ return ok(await sf.identity(conn(args)));
29
54
  }
30
55
  catch (e) {
31
56
  return fail(e);
32
57
  }
33
58
  });
34
- server.tool("salesforce_query", "Run a SOQL query and return matching records.", { soql: z.string().describe("A SOQL query, e.g. SELECT Id, Name FROM Account LIMIT 10") }, async ({ soql }) => {
59
+ server.tool("salesforce_query", "Run a SOQL query and return matching records.", {
60
+ soql: z.string().describe("A SOQL query, e.g. SELECT Id, Name FROM Account LIMIT 10"),
61
+ ...BYO_AUTH,
62
+ }, async (args) => {
35
63
  try {
36
- return ok(await sf.soqlQuery(conn(), soql));
64
+ return ok(await sf.soqlQuery(conn(args), args.soql));
37
65
  }
38
66
  catch (e) {
39
67
  return fail(e);
40
68
  }
41
69
  });
42
- server.tool("salesforce_search", "Run a SOSL full-text search across objects.", { sosl: z.string().describe("A SOSL search, e.g. FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name)") }, async ({ sosl }) => {
70
+ server.tool("salesforce_search", "Run a SOSL full-text search across objects.", {
71
+ sosl: z
72
+ .string()
73
+ .describe("A SOSL search, e.g. FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name)"),
74
+ ...BYO_AUTH,
75
+ }, async (args) => {
43
76
  try {
44
- return ok(await sf.soslSearch(conn(), sosl));
77
+ return ok(await sf.soslSearch(conn(args), args.sosl));
45
78
  }
46
79
  catch (e) {
47
80
  return fail(e);
48
81
  }
49
82
  });
50
- server.tool("salesforce_list_objects", "List all sObjects available in the org with their key metadata.", {}, async () => {
83
+ server.tool("salesforce_list_objects", "List all sObjects available in the org with their key metadata.", { ...BYO_AUTH }, async (args) => {
51
84
  try {
52
- return ok(await sf.listObjects(conn()));
85
+ return ok(await sf.listObjects(conn(args)));
53
86
  }
54
87
  catch (e) {
55
88
  return fail(e);
56
89
  }
57
90
  });
58
- server.tool("salesforce_describe_object", "Describe an sObject: its fields, types, picklist values, and references (trimmed payload).", { object_name: z.string().describe("API name of the object, e.g. Account or Custom__c") }, async ({ object_name }) => {
91
+ server.tool("salesforce_describe_object", "Describe an sObject: its fields, types, picklist values, and references (trimmed payload).", {
92
+ object_name: z.string().describe("API name of the object, e.g. Account or Custom__c"),
93
+ ...BYO_AUTH,
94
+ }, async (args) => {
59
95
  try {
60
- return ok(await sf.describeObject(conn(), object_name));
96
+ return ok(await sf.describeObject(conn(args), args.object_name));
61
97
  }
62
98
  catch (e) {
63
99
  return fail(e);
@@ -70,9 +106,10 @@ export function buildServer(getCreds, readOnly = READ_ONLY) {
70
106
  .array(z.string())
71
107
  .optional()
72
108
  .describe("Optional list of field API names; omit for all fields"),
73
- }, async ({ object_name, record_id, fields }) => {
109
+ ...BYO_AUTH,
110
+ }, async (args) => {
74
111
  try {
75
- return ok(await sf.getRecord(conn(), object_name, record_id, fields));
112
+ return ok(await sf.getRecord(conn(args), args.object_name, args.record_id, args.fields));
76
113
  }
77
114
  catch (e) {
78
115
  return fail(e);
@@ -82,12 +119,11 @@ export function buildServer(getCreds, readOnly = READ_ONLY) {
82
119
  if (!readOnly) {
83
120
  server.tool("salesforce_create_record", "Create a new record on the given object.", {
84
121
  object_name: z.string().describe("API name of the object, e.g. Contact"),
85
- data: z
86
- .record(z.any())
87
- .describe("Field API name value map for the new record"),
88
- }, async ({ object_name, data }) => {
122
+ data: z.record(z.any()).describe("Field API name → value map for the new record"),
123
+ ...BYO_AUTH,
124
+ }, async (args) => {
89
125
  try {
90
- return ok(await sf.createRecord(conn(), object_name, data));
126
+ return ok(await sf.createRecord(conn(args), args.object_name, args.data));
91
127
  }
92
128
  catch (e) {
93
129
  return fail(e);
@@ -97,9 +133,10 @@ export function buildServer(getCreds, readOnly = READ_ONLY) {
97
133
  object_name: z.string().describe("API name of the object"),
98
134
  record_id: z.string().describe("The Id of the record to update"),
99
135
  data: z.record(z.any()).describe("Field API name → new value map"),
100
- }, async ({ object_name, record_id, data }) => {
136
+ ...BYO_AUTH,
137
+ }, async (args) => {
101
138
  try {
102
- return ok(await sf.updateRecord(conn(), object_name, record_id, data));
139
+ return ok(await sf.updateRecord(conn(args), args.object_name, args.record_id, args.data));
103
140
  }
104
141
  catch (e) {
105
142
  return fail(e);
@@ -108,9 +145,10 @@ export function buildServer(getCreds, readOnly = READ_ONLY) {
108
145
  server.tool("salesforce_delete_record", "Delete a record by Id.", {
109
146
  object_name: z.string().describe("API name of the object"),
110
147
  record_id: z.string().describe("The Id of the record to delete"),
111
- }, async ({ object_name, record_id }) => {
148
+ ...BYO_AUTH,
149
+ }, async (args) => {
112
150
  try {
113
- return ok(await sf.deleteRecord(conn(), object_name, record_id));
151
+ return ok(await sf.deleteRecord(conn(args), args.object_name, args.record_id));
114
152
  }
115
153
  catch (e) {
116
154
  return fail(e);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imazhar101/salesforce-mcp-jsforce",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A lite, single-org Salesforce MCP server built on jsforce. Bring-your-own OAuth token — no credentials stored server-side. Runs over stdio (Claude Code) or as a dedicated streamable-HTTP server.",
5
5
  "type": "module",
6
6
  "license": "MIT",