salesforce-metadata-mcp 2.0.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/AGENTFORCE.md +125 -0
- package/APEX_LWC.md +214 -0
- package/CHANGELOG.md +120 -0
- package/README.md +207 -0
- package/SETUP.md +208 -0
- package/TOOLS.md +193 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/index.d.ts +3406 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +992 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/services/deployment.d.ts +36 -0
- package/dist/services/deployment.d.ts.map +1 -0
- package/dist/services/deployment.js +215 -0
- package/dist/services/deployment.js.map +1 -0
- package/dist/services/mcpgen.d.ts +16 -0
- package/dist/services/mcpgen.d.ts.map +1 -0
- package/dist/services/mcpgen.js +229 -0
- package/dist/services/mcpgen.js.map +1 -0
- package/dist/services/salesforce.d.ts +598 -0
- package/dist/services/salesforce.d.ts.map +1 -0
- package/dist/services/salesforce.js +1317 -0
- package/dist/services/salesforce.js.map +1 -0
- package/dist/services/tooling.d.ts +23 -0
- package/dist/services/tooling.d.ts.map +1 -0
- package/dist/services/tooling.js +173 -0
- package/dist/services/tooling.js.map +1 -0
- package/dist/tools/agentforce.d.ts +3 -0
- package/dist/tools/agentforce.d.ts.map +1 -0
- package/dist/tools/agentforce.js +73 -0
- package/dist/tools/agentforce.js.map +1 -0
- package/dist/tools/apex.d.ts +3 -0
- package/dist/tools/apex.d.ts.map +1 -0
- package/dist/tools/apex.js +95 -0
- package/dist/tools/apex.js.map +1 -0
- package/dist/tools/automation.d.ts +3 -0
- package/dist/tools/automation.d.ts.map +1 -0
- package/dist/tools/automation.js +186 -0
- package/dist/tools/automation.js.map +1 -0
- package/dist/tools/deployment.d.ts +3 -0
- package/dist/tools/deployment.d.ts.map +1 -0
- package/dist/tools/deployment.js +89 -0
- package/dist/tools/deployment.js.map +1 -0
- package/dist/tools/experience.d.ts +3 -0
- package/dist/tools/experience.d.ts.map +1 -0
- package/dist/tools/experience.js +53 -0
- package/dist/tools/experience.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +27 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/integrations.d.ts +3 -0
- package/dist/tools/integrations.d.ts.map +1 -0
- package/dist/tools/integrations.js +96 -0
- package/dist/tools/integrations.js.map +1 -0
- package/dist/tools/lwc.d.ts +3 -0
- package/dist/tools/lwc.d.ts.map +1 -0
- package/dist/tools/lwc.js +73 -0
- package/dist/tools/lwc.js.map +1 -0
- package/dist/tools/mcp.d.ts +3 -0
- package/dist/tools/mcp.d.ts.map +1 -0
- package/dist/tools/mcp.js +44 -0
- package/dist/tools/mcp.js.map +1 -0
- package/dist/tools/metadata.d.ts +3 -0
- package/dist/tools/metadata.d.ts.map +1 -0
- package/dist/tools/metadata.js +168 -0
- package/dist/tools/metadata.js.map +1 -0
- package/dist/tools/objects.d.ts +3 -0
- package/dist/tools/objects.d.ts.map +1 -0
- package/dist/tools/objects.js +172 -0
- package/dist/tools/objects.js.map +1 -0
- package/dist/tools/security.d.ts +3 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +82 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/ui.d.ts +3 -0
- package/dist/tools/ui.d.ts.map +1 -0
- package/dist/tools/ui.js +195 -0
- package/dist/tools/ui.js.map +1 -0
- package/dist/tools/utils.d.ts +15 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +7 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/types.d.ts +85 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +46 -0
package/dist/tools/ui.js
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { CreateLightningAppSchema, CreateTabSchema, CreateCompactLayoutSchema, CreateListViewSchema, CreateEmailTemplateSchema, CreateStaticResourceSchema, CreateCustomNotificationTypeSchema, CreateReportTypeSchema, CreateDashboardSchema, } from "../schemas/index.js";
|
|
2
|
+
import { getAuth, createLightningApp, createTab, createCompactLayout, createListView, createEmailTemplate, createCustomNotificationType, createReportType, } from "../services/salesforce.js";
|
|
3
|
+
import { buildStaticResourceZip, deployZip, pollDeployStatus, } from "../services/deployment.js";
|
|
4
|
+
import { API_VERSION } from "../services/salesforce.js";
|
|
5
|
+
import { resultContent } from "./utils.js";
|
|
6
|
+
export function registerUiTools(server) {
|
|
7
|
+
server.registerTool("sf_create_lightning_app", {
|
|
8
|
+
title: "Create Lightning App",
|
|
9
|
+
description: `Creates a Lightning App in Salesforce — a branded navigation container with a custom navigation bar, utility bar, and logo. Choose between Standard (tabs) and Console (split view) navigation. Specify navItems to populate the navigation bar with objects, home, reports, etc. Use when a user wants a custom app experience for a specific team or use case.`,
|
|
10
|
+
inputSchema: CreateLightningAppSchema,
|
|
11
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
12
|
+
}, async (params) => {
|
|
13
|
+
const auth = await getAuth();
|
|
14
|
+
const result = await createLightningApp(auth, {
|
|
15
|
+
fullName: params.fullName,
|
|
16
|
+
label: params.label,
|
|
17
|
+
description: params.description,
|
|
18
|
+
navType: params.navType,
|
|
19
|
+
uiType: params.uiType,
|
|
20
|
+
setupExperience: params.setupExperience,
|
|
21
|
+
isNavAutoTempTabsDisabled: params.isNavAutoTempTabsDisabled,
|
|
22
|
+
isNavPersonalizationDisabled: params.isNavPersonalizationDisabled,
|
|
23
|
+
navItems: params.navItems,
|
|
24
|
+
utilityItems: params.utilityItems,
|
|
25
|
+
});
|
|
26
|
+
return resultContent(result);
|
|
27
|
+
});
|
|
28
|
+
server.registerTool("sf_create_tab", {
|
|
29
|
+
title: "Create Custom Tab",
|
|
30
|
+
description: `Creates a Custom Tab for a custom object so it appears in the navigation bar and App Launcher. Tabs are required to make custom objects accessible from the UI. Specify the object API name and choose a motif/icon from Salesforce's icon library (e.g., 'Custom64: Coin').`,
|
|
31
|
+
inputSchema: CreateTabSchema,
|
|
32
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
33
|
+
}, async (params) => {
|
|
34
|
+
const auth = await getAuth();
|
|
35
|
+
const result = await createTab(auth, {
|
|
36
|
+
fullName: params.fullName,
|
|
37
|
+
label: params.label,
|
|
38
|
+
motif: params.motif,
|
|
39
|
+
sobjectName: params.sobjectName,
|
|
40
|
+
customObject: params.customObject,
|
|
41
|
+
url: params.url,
|
|
42
|
+
page: params.page,
|
|
43
|
+
description: params.description,
|
|
44
|
+
});
|
|
45
|
+
return resultContent(result);
|
|
46
|
+
});
|
|
47
|
+
server.registerTool("sf_create_compact_layout", {
|
|
48
|
+
title: "Create Compact Layout",
|
|
49
|
+
description: `Creates a Compact Layout for a Salesforce object. Compact Layouts define which fields appear in the highlights panel at the top of a record page (up to 10 fields), in Salesforce Mobile, and in related list cards. Use when you want to surface the most important fields at a glance.`,
|
|
50
|
+
inputSchema: CreateCompactLayoutSchema,
|
|
51
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
52
|
+
}, async (params) => {
|
|
53
|
+
const auth = await getAuth();
|
|
54
|
+
const result = await createCompactLayout(auth, {
|
|
55
|
+
objectName: params.objectName,
|
|
56
|
+
fullName: params.fullName,
|
|
57
|
+
label: params.label,
|
|
58
|
+
fields: params.fields,
|
|
59
|
+
});
|
|
60
|
+
return resultContent(result);
|
|
61
|
+
});
|
|
62
|
+
server.registerTool("sf_create_list_view", {
|
|
63
|
+
title: "Create List View",
|
|
64
|
+
description: `Creates a List View for any Salesforce object. List Views are saved filters that display a subset of records with specific columns, filters, and sorting. Use to create shared views like 'My Open Cases', 'High Priority Leads', or 'Deals Closing This Month' that appear in the object's list view selector.`,
|
|
65
|
+
inputSchema: CreateListViewSchema,
|
|
66
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
67
|
+
}, async (params) => {
|
|
68
|
+
const auth = await getAuth();
|
|
69
|
+
const result = await createListView(auth, {
|
|
70
|
+
objectName: params.objectName,
|
|
71
|
+
fullName: params.fullName,
|
|
72
|
+
label: params.label,
|
|
73
|
+
columns: params.columns,
|
|
74
|
+
filters: params.filters,
|
|
75
|
+
booleanFilter: params.booleanFilter,
|
|
76
|
+
filterScope: params.filterScope,
|
|
77
|
+
sharedTo: params.sharedTo,
|
|
78
|
+
});
|
|
79
|
+
return resultContent(result);
|
|
80
|
+
});
|
|
81
|
+
server.registerTool("sf_create_email_template", {
|
|
82
|
+
title: "Create Email Template",
|
|
83
|
+
description: `Creates an HTML or text email template that can be used in Workflow Email Alerts, Approval Processes, or sent manually. Templates support merge fields like {!Account.Name} for personalization. Specify a folder path (e.g., 'unfiled$public/MyTemplate') or 'MyFolder/MyTemplate'. Use relatedEntityType to enable object-specific merge fields.`,
|
|
84
|
+
inputSchema: CreateEmailTemplateSchema,
|
|
85
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
86
|
+
}, async (params) => {
|
|
87
|
+
const auth = await getAuth();
|
|
88
|
+
const result = await createEmailTemplate(auth, {
|
|
89
|
+
fullName: params.fullName,
|
|
90
|
+
name: params.name,
|
|
91
|
+
label: params.label,
|
|
92
|
+
description: params.description,
|
|
93
|
+
subject: params.subject,
|
|
94
|
+
htmlValue: params.htmlValue,
|
|
95
|
+
body: params.body,
|
|
96
|
+
type: params.type,
|
|
97
|
+
relatedEntityType: params.relatedEntityType,
|
|
98
|
+
encoding: params.encoding,
|
|
99
|
+
available: params.available,
|
|
100
|
+
replyTo: params.replyTo,
|
|
101
|
+
senderName: params.senderName,
|
|
102
|
+
});
|
|
103
|
+
return resultContent(result);
|
|
104
|
+
});
|
|
105
|
+
server.registerTool("sf_create_static_resource", {
|
|
106
|
+
title: "Create Static Resource",
|
|
107
|
+
description: `Creates a Static Resource from text/JSON/JS/CSS content. Static Resources are files stored in Salesforce and served via a CDN URL — ideal for JavaScript libraries, CSS stylesheets, JSON configuration, or any other file that needs to be served from Salesforce. Content is provided as a string and deployed via the Metadata API.`,
|
|
108
|
+
inputSchema: CreateStaticResourceSchema,
|
|
109
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
110
|
+
}, async (params) => {
|
|
111
|
+
const auth = await getAuth();
|
|
112
|
+
try {
|
|
113
|
+
const base64Zip = await buildStaticResourceZip(params.fullName, params.content, params.contentType, API_VERSION);
|
|
114
|
+
const deployId = await deployZip(auth, base64Zip);
|
|
115
|
+
const result = await pollDeployStatus(auth, deployId, 3 * 60 * 1000);
|
|
116
|
+
if (result.success) {
|
|
117
|
+
return resultContent({ success: true, message: `Static resource '${params.fullName}' deployed successfully.`, fullName: params.fullName, created: true });
|
|
118
|
+
}
|
|
119
|
+
return resultContent(result);
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
return resultContent({ success: false, message: err instanceof Error ? err.message : String(err) });
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
server.registerTool("sf_create_custom_notification_type", {
|
|
126
|
+
title: "Create Custom Notification Type",
|
|
127
|
+
description: `Creates a Custom Notification Type that can be sent from Flows, Apex, or Process Builder using the Send Custom Notification action. Custom Notifications appear in Salesforce notification bell (and optionally mobile push). Use to create in-app alerts for important business events.`,
|
|
128
|
+
inputSchema: CreateCustomNotificationTypeSchema,
|
|
129
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
130
|
+
}, async (params) => {
|
|
131
|
+
const auth = await getAuth();
|
|
132
|
+
const result = await createCustomNotificationType(auth, {
|
|
133
|
+
fullName: params.fullName,
|
|
134
|
+
customNotifTypeName: params.customNotifTypeName,
|
|
135
|
+
description: params.description,
|
|
136
|
+
desktop: params.desktop,
|
|
137
|
+
mobile: params.mobile,
|
|
138
|
+
});
|
|
139
|
+
return resultContent(result);
|
|
140
|
+
});
|
|
141
|
+
server.registerTool("sf_create_report_type", {
|
|
142
|
+
title: "Create Custom Report Type",
|
|
143
|
+
description: `Creates a Custom Report Type that defines what objects and fields are available when building reports. A report type specifies a primary object and optionally related objects (joined via relationships). Use when the standard report types don't include the data you need, or when you want to create a specialized reporting structure.`,
|
|
144
|
+
inputSchema: CreateReportTypeSchema,
|
|
145
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
146
|
+
}, async (params) => {
|
|
147
|
+
const auth = await getAuth();
|
|
148
|
+
const result = await createReportType(auth, {
|
|
149
|
+
fullName: params.fullName,
|
|
150
|
+
label: params.label,
|
|
151
|
+
description: params.description,
|
|
152
|
+
baseObject: params.baseObject,
|
|
153
|
+
category: params.category,
|
|
154
|
+
deployed: params.deployed,
|
|
155
|
+
relationships: params.relationships,
|
|
156
|
+
});
|
|
157
|
+
return resultContent(result);
|
|
158
|
+
});
|
|
159
|
+
server.registerTool("sf_create_dashboard", {
|
|
160
|
+
title: "Create Dashboard",
|
|
161
|
+
description: `Creates a Salesforce Dashboard with components (charts, metrics, tables, gauges) powered by reports. Dashboards provide visual summaries of key business data. Specify the folder path as 'FolderName/DashboardName' and add components linked to existing reports. Use when a team needs a visual summary of their metrics.`,
|
|
162
|
+
inputSchema: CreateDashboardSchema,
|
|
163
|
+
annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
164
|
+
}, async (params) => {
|
|
165
|
+
const auth = await getAuth();
|
|
166
|
+
// Build dashboard XML inline
|
|
167
|
+
const componentsXml = (params.components ?? []).map((c, i) => `
|
|
168
|
+
<met:components>
|
|
169
|
+
<met:type>${c.type}</met:type>
|
|
170
|
+
${c.reportApiName ? `<met:report>${c.reportApiName}</met:report>` : ""}
|
|
171
|
+
${c.header ? `<met:header>${c.header}</met:header>` : ""}
|
|
172
|
+
${c.footer ? `<met:footer>${c.footer}</met:footer>` : ""}
|
|
173
|
+
${c.chartType ? `<met:chartAxisRange>Auto</met:chartAxisRange>` : ""}
|
|
174
|
+
<met:columnSpan>${c.columnSpan}</met:columnSpan>
|
|
175
|
+
<met:rowSpan>${c.rowSpan}</met:rowSpan>
|
|
176
|
+
</met:components>`).join("\n");
|
|
177
|
+
const xml = `<met:metadata xsi:type="met:Dashboard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
178
|
+
<met:fullName>${params.fullName}</met:fullName>
|
|
179
|
+
<met:title>${params.title}</met:title>
|
|
180
|
+
${params.description ? `<met:description>${params.description}</met:description>` : ""}
|
|
181
|
+
${params.runningUser ? `<met:runningUser>${params.runningUser}</met:runningUser>` : ""}
|
|
182
|
+
<met:backgroundEndColor>#FFFFFF</met:backgroundEndColor>
|
|
183
|
+
<met:backgroundFadeDirection>Diagonal</met:backgroundFadeDirection>
|
|
184
|
+
<met:backgroundStartColor>#FFFFFF</met:backgroundStartColor>
|
|
185
|
+
<met:textColor>#000000</met:textColor>
|
|
186
|
+
<met:titleColor>#000000</met:titleColor>
|
|
187
|
+
<met:titleSize>12</met:titleSize>
|
|
188
|
+
${componentsXml}
|
|
189
|
+
</met:metadata>`;
|
|
190
|
+
const { upsertMetadata } = await import("../services/salesforce.js");
|
|
191
|
+
const result = await upsertMetadata(auth, xml);
|
|
192
|
+
return resultContent(result);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface ToolLike {
|
|
2
|
+
success: boolean;
|
|
3
|
+
message: string;
|
|
4
|
+
fullName?: string;
|
|
5
|
+
created?: boolean;
|
|
6
|
+
details?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function resultContent(result: ToolLike): {
|
|
9
|
+
content: [{
|
|
10
|
+
type: "text";
|
|
11
|
+
text: string;
|
|
12
|
+
}];
|
|
13
|
+
isError?: boolean;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,GAAG;IAC/C,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAKA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tools/utils.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,aAAa,CAAC,MAAgB;IAI5C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export interface SalesforceAuth {
|
|
2
|
+
instanceUrl: string;
|
|
3
|
+
accessToken: string;
|
|
4
|
+
}
|
|
5
|
+
export interface MetadataUpsertResult {
|
|
6
|
+
created: boolean;
|
|
7
|
+
fullName: string;
|
|
8
|
+
success: boolean;
|
|
9
|
+
errors?: MetadataError[];
|
|
10
|
+
}
|
|
11
|
+
export interface MetadataError {
|
|
12
|
+
fields?: string[];
|
|
13
|
+
message: string;
|
|
14
|
+
statusCode: string;
|
|
15
|
+
}
|
|
16
|
+
export interface MetadataReadResult<T> {
|
|
17
|
+
result: T | T[];
|
|
18
|
+
}
|
|
19
|
+
export interface CustomObjectMetadata {
|
|
20
|
+
fullName: string;
|
|
21
|
+
label: string;
|
|
22
|
+
pluralLabel: string;
|
|
23
|
+
nameField: NameField;
|
|
24
|
+
deploymentStatus: "Deployed" | "InDevelopment";
|
|
25
|
+
sharingModel: "ReadWrite" | "Read" | "Private" | "ControlledByParent" | "FullAccess" | "ControlledByCampaign";
|
|
26
|
+
description?: string;
|
|
27
|
+
enableActivities?: boolean;
|
|
28
|
+
enableHistory?: boolean;
|
|
29
|
+
enableReports?: boolean;
|
|
30
|
+
enableSearch?: boolean;
|
|
31
|
+
enableFeeds?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface NameField {
|
|
34
|
+
label: string;
|
|
35
|
+
type: "Text" | "AutoNumber";
|
|
36
|
+
displayFormat?: string;
|
|
37
|
+
}
|
|
38
|
+
export type FieldType = "Text" | "TextArea" | "LongTextArea" | "Number" | "Currency" | "Percent" | "Checkbox" | "Date" | "DateTime" | "Email" | "Phone" | "Url" | "Picklist" | "MultiselectPicklist" | "Lookup" | "MasterDetail";
|
|
39
|
+
export interface CustomFieldMetadata {
|
|
40
|
+
fullName: string;
|
|
41
|
+
label: string;
|
|
42
|
+
type: FieldType;
|
|
43
|
+
description?: string;
|
|
44
|
+
required?: boolean;
|
|
45
|
+
unique?: boolean;
|
|
46
|
+
externalId?: boolean;
|
|
47
|
+
length?: number;
|
|
48
|
+
visibleLines?: number;
|
|
49
|
+
precision?: number;
|
|
50
|
+
scale?: number;
|
|
51
|
+
valueSet?: ValueSet;
|
|
52
|
+
referenceTo?: string;
|
|
53
|
+
relationshipLabel?: string;
|
|
54
|
+
relationshipName?: string;
|
|
55
|
+
deleteConstraint?: "Cascade" | "Restrict" | "SetNull";
|
|
56
|
+
}
|
|
57
|
+
export interface ValueSet {
|
|
58
|
+
restricted?: boolean;
|
|
59
|
+
valueSetDefinition: ValueSetDefinition;
|
|
60
|
+
}
|
|
61
|
+
export interface ValueSetDefinition {
|
|
62
|
+
sorted: boolean;
|
|
63
|
+
value: PicklistValue[];
|
|
64
|
+
}
|
|
65
|
+
export interface PicklistValue {
|
|
66
|
+
fullName: string;
|
|
67
|
+
label: string;
|
|
68
|
+
default: boolean;
|
|
69
|
+
isActive?: boolean;
|
|
70
|
+
color?: string;
|
|
71
|
+
description?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface ToolSuccessResult {
|
|
74
|
+
success: true;
|
|
75
|
+
fullName: string;
|
|
76
|
+
created: boolean;
|
|
77
|
+
message: string;
|
|
78
|
+
}
|
|
79
|
+
export interface ToolErrorResult {
|
|
80
|
+
success: false;
|
|
81
|
+
message: string;
|
|
82
|
+
details?: string;
|
|
83
|
+
}
|
|
84
|
+
export type ToolResult = ToolSuccessResult | ToolErrorResult;
|
|
85
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;CACjB;AAID,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,UAAU,GAAG,eAAe,CAAC;IAC/C,YAAY,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,YAAY,GAAG,sBAAsB,CAAC;IAC9G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,UAAU,GACV,cAAc,GACd,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,KAAK,GACL,UAAU,GACV,qBAAqB,GACrB,QAAQ,GACR,cAAc,CAAC;AAEnB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CACvD;AAID,MAAM,WAAW,QAAQ;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,eAAe,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+EAA+E"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "salesforce-metadata-mcp",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "The most comprehensive Salesforce metadata and development MCP server: 60+ tools for custom objects, flows, Apex, LWC, Agentforce, deployments, and more",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"salesforce-metadata-mcp": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"dev": "tsc --watch"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md",
|
|
18
|
+
"SETUP.md",
|
|
19
|
+
"TOOLS.md",
|
|
20
|
+
"AGENTFORCE.md",
|
|
21
|
+
"APEX_LWC.md",
|
|
22
|
+
"CHANGELOG.md"
|
|
23
|
+
],
|
|
24
|
+
"keywords": [
|
|
25
|
+
"salesforce",
|
|
26
|
+
"mcp",
|
|
27
|
+
"metadata",
|
|
28
|
+
"apex",
|
|
29
|
+
"lwc",
|
|
30
|
+
"agentforce",
|
|
31
|
+
"claude",
|
|
32
|
+
"ai",
|
|
33
|
+
"automation"
|
|
34
|
+
],
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@modelcontextprotocol/sdk": "^1.10.2",
|
|
37
|
+
"axios": "^1.7.9",
|
|
38
|
+
"jszip": "^3.10.1",
|
|
39
|
+
"zod": "^3.23.8"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@types/express": "^5.0.6",
|
|
43
|
+
"@types/node": "^22.10.0",
|
|
44
|
+
"typescript": "^5.7.2"
|
|
45
|
+
}
|
|
46
|
+
}
|