@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 +1 -1
- package/dist/config.js +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.js +63 -25
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
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.
|
|
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.
|
|
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.
|
|
5
|
-
* call
|
|
6
|
-
*
|
|
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
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
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.", {
|
|
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.", {
|
|
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).", {
|
|
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
|
-
|
|
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
|
-
|
|
87
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAOlC,SAAS,EAAE,CAAC,IAAa;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,IAAI,CAAC,KAAc;IAC1B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,QAA4B,EAC5B,WAAoB,SAAS;IAE7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EACxC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,IAAI,GAAG,
|
|
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.
|
|
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",
|