Introduction
The Hubbl MCP server (https://mcp.hubbl.com/mcp) exposes Hubbl tools and context to AI coding
agents and assistants. It uses
Streamable HTTP
with a Basic authorization header built from your Hubbl API Key and Secret.
Agent Setup
Prerequisites
Before configuring any agent, you will need:
- A Hubbl API Key and API Secret — obtain these from your Hubbl account settings.
- Your base64-encoded authorization token, generated from your credentials.
Generate your token
Run the following command for your operating system, substituting your actual API Key and Secret:
Mac and Linux
echo -n "yourApiKey:yourApiSecret" | base64
Windows (PowerShell)
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("yourApiKey:yourApiSecret"))
The output is your <token>. Your full Authorization header value will be
Basic <token>.
Agentforce Vibes
Agentforce Vibes allows you to connect to remote MCP servers to expand its capabilities. You can add Hubbl MCP via the Agentforce Vibes UI in VS Code and modifying its configuration file.
Step 1 — Generate your token
If you have not already done so, follow the Prerequisites steps to generate
your <token>.
Step 2 — Configure the Hubbl MCP server
To connect Agentforce Vibes to Hubbl MCP, you'll need to configure it with the correct URL and authorization header.
- In VS Code, open the Agentforce Vibes panel.
- Click the MCP Servers icon (top right of the panel) to open the MCP Servers interface.
- Navigate to the Remote Servers tab.
- Click Edit Configuration to open the
a4d_mcp_settings.jsonfile. -
Add the Hubbl MCP server configuration under
mcpServers. Replace<token>with your base64 value:
{
"mcpServers": {
"hubbl-mcp": {
"url": "https://mcp.hubbl.com/mcp",
"type": "streamableHttp",
"disabled": false,
"headers": {
"Authorization": "Basic <token>"
}
}
}
}
Step 3 — Verify the connection
Save the configuration file and click then navigate to the "Configure" tab in your MCP Servers window. You should see the hubbl-mcp server listed with a green status indicator. Click the arrow to expand the server and you should see the available tools.
Claude Code
Claude Code supports two ways to add an MCP server: via the CLI, which stores credentials in a
workspace-scoped entry in ~/.claude.json, or manually, by creating a
.mcp.json file at the root of your project. Either way, your credentials should be kept private
and never committed to source control.
For full details on MCP support in Claude Code, see the official Claude Code MCP documentation.
Step 1 — Generate your token
If you have not already done so, follow the Prerequisites steps to generate
your <token>.
Step 2 — Add the Hubbl MCP server
Choose one of the following options:
Option a — Via the Claude Code CLI
Run the following command, replacing <token> with the value you generated above:
claude mcp add --transport http Hubbl-MCP https://mcp.hubbl.com/mcp \
--header "Authorization: Basic <token>"
The CLI stores the server in a workspace-scoped entry inside ~/.claude.json.
Option b — Manually via .mcp.json
In the root of the project, create a file named .mcp.json with the following content. Replace
<token> with the base64 value you generated.
{
"mcpServers": {
"Hubbl-MCP": {
"type": "http",
"url": "https://mcp.hubbl.com/mcp",
"headers": {
"Authorization": "Basic <token>"
}
}
}
}
Then, ensure the file is not accidentally committed to source control:
echo ".mcp.json" >> .gitignore
Step 3 — Restart Claude Code
Fully quit and reopen Claude Code so it picks up the new configuration.
Step 4 — Approve the MCP server
After reloading, Claude Code will display a security prompt in the console:
Select Use this MCP server to allow Claude Code to connect to Hubbl MCP.
If you are using the VSCode extension, just type /mcp into the chat window and follow the
prompts.
Verify
Type /mcp in Claude Code and confirm Hubbl MCP appears with a green connected
status.
Cline VSCode Extension
Placeholder content for integrating Hubbl MCP with the Cline VSCode Extension.
Step 1 — Generate your token
If you have not already done so, follow the Prerequisites steps to generate
your <token>.
Step 2 — Configure the Hubbl MCP server
To connect Cline to Hubbl MCP, you'll need to configure it with the correct URL and authorization header.
- In VS Code, open the Cline panel.
- Click the Manage MCP Servers icon (bottom left of the panel) to open the MCP Servers interface.
- Click the gear icon, then navigate to the Remote Servers tab.
- Click Edit Configuration to open the
cline_mcp_settings.jsonfile. -
Add the Hubbl MCP server configuration under
mcpServers. Replace<token>with your base64 value: - Save the file then click the Done button in the Cline panel.
{
"mcpServers": {
"hubbl-mcp": {
"url": "https://mcp.hubbl.com/mcp",
"type": "streamableHttp",
"disabled": false,
"headers": {
"Authorization": "Basic <token>"
}
}
}
}
Step 3 — Verify the connection
Check the MCP Servers list in your Cline panel. You should see the hubbl-mcp server listed with a green connection status. You can now ask Cline to utilize Hubbl tools directly in your prompts!
Resources
To view these resources, send a POST request with a body containing a JSON payload similar to the following
example.
Don't forget to include the mcp_session_id from your initialization request in this request
headers.
{
"jsonrpc": "2.0",
"method": "resources/read",
"params": {
"uri": "hubbl://issue-categories"
},
"id": 2345
}
Field Delete Constraints
URI: hubbl://allow-or-prevent-delete
List of all valid 'allowOrPreventDelete' string values for Salesforce lookup-relationship fields (mirrors SF's deleteConstraint). Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
Restrict |
2 |
SetNull |
3 |
Cascade |
Field Business Statuses
URI: hubbl://business-status
List of all valid 'businessStatus' string values for Salesforce fields. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
Active |
2 |
DeprecateCandidate |
3 |
Deprecated |
4 |
Hidden |
Canvas Access Methods
URI: hubbl://canvas-access-method
List of all valid 'canvasAccessMethod' string values for Salesforce connected apps.
| Value | Name |
|---|---|
1 |
Get |
2 |
Post |
Field Compliance Groups
URI: hubbl://compliance-group
List of all valid 'complianceGroup' string values for Salesforce field Data Classification. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
PII |
2 |
HIPAA |
3 |
GLBA |
4 |
PCI |
5 |
COPPA |
6 |
GDPR |
Field Encryption Schemes
URI: hubbl://encrypted-scheme
List of all valid 'encryptedScheme' string values for Salesforce Shield-encrypted fields. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
ProbabilisticEncryption |
2 |
CaseSensitiveDeterministicEncryption |
3 |
CaseInsensitiveDeterministicEncryption |
Field Types
URI: hubbl://field-type
List of all valid Salesforce field 'type' string values. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
AutoNumber |
2 |
Text |
3 |
MasterDetail |
4 |
ExternalLookup |
5 |
Lookup |
6 |
Html |
7 |
LongTextArea |
8 |
TextArea |
9 |
Address |
10 |
Checkbox |
11 |
Currency |
12 |
Date |
13 |
DateTime |
14 |
|
15 |
Location |
16 |
Number |
17 |
Percent |
18 |
Phone |
19 |
Picklist |
20 |
MultiselectPicklist |
21 |
EncryptedString |
22 |
Time |
23 |
Url |
24 |
Id |
Issue Categories
URI: hubbl://issue-categories
List of all valid 'category' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the get_org_issues tool.
| Value | Name |
|---|---|
1 |
Custom Code |
2 |
Data Model |
3 |
Declarative Automation |
4 |
Limits |
5 |
Packages |
6 |
Reports |
7 |
User Management and Security |
Efforts
URI: hubbl://issue-efforts
List of all valid 'effort' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the get_org_issues tool.
| Value | Name |
|---|---|
1 |
Low |
2 |
Medium |
3 |
High |
Metadata Types
URI: hubbl://issue-metadata-types
List of all valid 'metadataType' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the get_org_issues tool.
| Value | Name |
|---|---|
2 |
aura |
3 |
classes |
4 |
components |
5 |
connectedApps |
6 |
fields |
7 |
flows |
8 |
globalValueSets |
9 |
installedPackages |
10 |
licenseUsage |
11 |
lwc |
12 |
objects |
13 |
pages |
14 |
permissionSets |
15 |
profiles |
16 |
reports |
17 |
securityHealthCheckRisks |
18 |
system |
19 |
triggers |
20 |
workflows |
Priorities
URI: hubbl://issue-priorities
List of all valid 'priority' string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the get_org_issues tool.
| Value | Name |
|---|---|
1 |
Low |
2 |
Medium |
3 |
High |
Well-Architected Categories
URI: hubbl://issue-well-architected-categories
List of all valid 'wellArchitectedCategoryLevelX' (1-4) string values. Agents MUST review these values to ensure correct spelling and casing when constructing RQL filters for the get_org_issues tool. Source information: https://architect.salesforce.com/docs/architect/well-architected/guide
| Value | Name | URL |
|---|---|---|
1 |
Adaptable | Link |
2 |
App Lifecycle Management | Link |
3 |
Authentication | Link |
4 |
Authorization | Link |
5 |
Automated | Link |
6 |
Composable | Link |
7 |
Data Model Optimization | Link |
8 |
Data Security | Link |
9 |
Data Volume Management | Link |
10 |
Design Standards | Link |
11 |
Documentation | Link |
12 |
Easy | Link |
13 |
Efficiency | Link |
14 |
Functional Units | Link |
15 |
Intentional | Link |
16 |
KPIs | Link |
17 |
Maintainability | Link |
18 |
Organizational Security | Link |
19 |
Readability | Link |
20 |
Reliable | Link |
21 |
Resilient | Link |
22 |
Scalability | Link |
23 |
Secure | Link |
24 |
Separation of Concerns | Link |
25 |
Session Management | Link |
26 |
Session Security | Link |
27 |
Sharing and Visibility | Link |
28 |
Simple | Link |
29 |
Technical Debt | Link |
30 |
Testing Strategy | Link |
31 |
Threat Detection and Response | Link |
32 |
Trusted | Link |
33 |
Use of Encryption | Link |
Well-Architected Hierarchy
URI: hubbl://issue-well-architected-hierarchy
Hierarchy definitions of valid paths (levels 1 through 4) for well-architected categories. Agents MUST review this hierarchy to ensure they query valid category combinations for the get_org_issues tool.
| Path Details | Path Array (Levels 1-4) |
|---|---|
| Adaptable -> Composable -> Separation of Concerns -> Functional Units | [1, 6, 24, 14] |
| Adaptable -> Resilient -> App Lifecycle Management -> Testing Strategy | [1, 21, 2, 30] |
| Easy -> Automated -> Efficiency -> KPIs | [12, 5, 13, 16] |
| Easy -> Intentional -> Maintainability -> Technical Debt | [12, 15, 17, 29] |
| Easy -> Intentional -> Readability -> Design Standards | [12, 15, 19, 10] |
| Easy -> Intentional -> Readability -> Documentation | [12, 15, 19, 11] |
| Easy -> Simple -> Maintainability -> Technical Debt | [12, 28, 17, 29] |
| Easy -> Simple -> Readability -> Documentation | [12, 28, 19, 11] |
| Trusted -> Reliable -> Scalability -> Data Model Optimization | [32, 20, 22, 7] |
| Trusted -> Reliable -> Scalability -> Data Volume Management | [32, 20, 22, 9] |
| Trusted -> Secure -> Data Security -> Sharing and Visibility | [32, 23, 8, 27] |
| Trusted -> Secure -> Data Security -> Use of Encryption | [32, 23, 8, 33] |
| Trusted -> Secure -> Organizational Security -> Authentication | [32, 23, 18, 3] |
| Trusted -> Secure -> Organizational Security -> Authorization | [32, 23, 18, 4] |
| Trusted -> Secure -> Session Security -> Session Management | [32, 23, 26, 25] |
| Trusted -> Secure -> Session Security -> Threat Detection and Response | [32, 23, 26, 31] |
Mobile Device Types
URI: hubbl://mobile-device-type
List of all valid 'mobileDeviceType' string values for Salesforce connected apps.
| Value | Name |
|---|---|
1 |
phone |
2 |
tablet |
3 |
mini |
Mobile Platforms
URI: hubbl://mobile-platform
List of all valid 'mobilePlatform' string values for Salesforce connected apps.
| Value | Name |
|---|---|
1 |
ios |
2 |
android |
Custom Setting Types
URI: hubbl://object-custom-setting-type
List of all valid 'customSettingType' string values on Salesforce objects. Use these values when constructing RQL filters for the list_org_objects tool.
| Value | Name |
|---|---|
1 |
Hierarchy |
2 |
List |
Object Types
URI: hubbl://object-type
List of all valid Salesforce object 'type' string values. Use these values when constructing RQL filters for the list_org_objects tool.
| Value | Name |
|---|---|
1 |
Big Object |
2 |
Custom Metadata |
3 |
Custom Object |
4 |
Custom Setting |
5 |
External Object |
6 |
Platform Event |
7 |
Standard Object |
8 |
Unknown Type |
Package Types
URI: hubbl://package-type
List of all valid 'packageType' string values. Use these values when constructing RQL filters for the list_org_installed_packages tool.
| Value | Name |
|---|---|
1 |
Managed |
2 |
Unlocked |
3 |
Unmanaged |
Field Security Classifications
URI: hubbl://security-classification
List of all valid 'securityClassification' string values for Salesforce field Data Classification. Use these values when constructing RQL filters for the list_org_fields tool.
| Value | Name |
|---|---|
1 |
Public |
2 |
Internal |
3 |
Confidential |
4 |
Restricted |
5 |
MissionCritical |
Tools
To execute these tools over the Model Context Protocol HTTP transport, the body of your request must contain a
JSON payload like the following example. By replacing the name and arguments values
with the desired tool's details.
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_org_info",
"arguments": {
"orgId": "your-org-id"
}
},
"id": 2346
}
Get Org Connected App
Name: get_org_connected_app
Get a single connected app by id. Returns the full record (Canvas/mobile/OAuth/options config not in list_org_connected_apps). Use list_org_connected_apps to find an id.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Connected app ID (matches the id returned by list_org_connected_apps)
Response Schema
A full representation of a connected app including mobile and canvas configuration.
Internal Hubbl primary key ID.
Indicates if the app is currently installed in the org.
The 18-character Salesforce ID of the app record.
The Salesforce application identifier.
The display name (UI Label) of the connected app.
The developer name (API Name) of the connected app.
The namespace prefix associated with the connected app.
A brief description of the app's purpose.
The timestamp the app was created in Salesforce.
The timestamp the app was last modified in Salesforce.
Number of users who have authorized this app.
Total number of times this app has been used.
The timestamp of the first recorded use.
The timestamp of the most recent use.
The method used to access the canvas app (e.g., SignedRequest, OAuth).
Indicates if canvas functionality is enabled.
Configuration options for the canvas app.
External reference ID for canvas integration.
Locations where the canvas app is exposed (e.g., Layout, Mobile).
The secure URL for the canvas app.
URL for the app icon.
URL for additional information about the app.
Indicates if access is restricted to registered devices.
Indicates if the app uses admin-preauthorized OAuth scopes.
URL for the app logo.
Identifier for the mobile app binary.
URL to install the mobile app.
Date the mobile app was installed.
The specific version of the mobile app currently installed.
The version string of the mobile app.
The targeted device type for the mobile app.
The minimum OS version required for the mobile app.
The mobile platform (iOS, Android).
Session timeout configuration for the mobile app.
The starting URL for the mobile app experience.
Timeout for named user UVIDs.
Indicates if full content push notifications are enabled.
Indicates if session-level policies are applied.
Metric for refresh token validity.
Required PIN length for mobile access.
The period for which a refresh token remains valid.
URL to the app's setup page in Salesforce.
The starting URL for the web app experience.
Timeout for UVIDs.
Indicates if the app was created locally in the org.
Indicates if the app has been blocked by an administrator.
The consumer key (Client ID) for the connected app.
Get Org Field
Name: get_org_field
Get a single Salesforce field by id. Returns the full record (picklist, formula, encryption, compliance, security classification). Use list_org_fields to discover ids.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Field ID (matches the id returned by list_org_fields)
Get Org Info
Name: get_org_info
Return a summary of information about a Salesforce organization.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Response Schema
The unique Salesforce identifier for the organization
The name of the organization
The username associated with the organization connection
The Hubbl score for the organization
The complexity score for the organization
The date and time of the last scan
The total number of issues found in the organization
The number of high severity issues found in the organization
Get Org Installed Package
Name: get_org_installed_package
Get a single installed package by id. Returns the full record including version segments, package version metadata, and container options. To find an id, use the list_org_installed_packages tool.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Installed package ID (matches the id returned by list_org_installed_packages)
Response Schema
A full representation of an installed package.
The display label of the package.
Internal Hubbl primary key ID.
The developer name of the package.
A brief description of the package's purpose.
The name of the organization that published the package.
The namespace prefix that identifies this package.
The major version number.
The minor version number.
The patch version number.
The specific build number of the installed version.
The release state (e.g., Released, Beta).
Indicates whether the package version is deprecated.
Indicates whether the package is a managed package.
Indicates whether the package is protected by a password.
Indicates whether the package has passed Salesforce security review.
The 18-character Salesforce ID of the installed package.
The Salesforce ID for this specific package version (starts with 04t).
Indicates whether the package is dependent on the organization's metadata.
Indicates whether the package installation is valid.
Description of the specific package version.
Name of the specific package version.
Container options for the package.
Indicates whether this is a beta version of the package.
The type of the package (e.g., Managed, Unmanaged).
The Hubbl ID of the parent package.
The Hubbl ID of the package version.
The date and time when the package was installed in the org.
Indicates whether a newer version of the package is available.
The version number of the latest available version of the package.
Get Org Issues (Deprecated)
Name: get_org_issues
DEPRECATED: This tool has been renamed to list_org_issues and will be removed after the closed beta period. Please use list_org_issues instead.
Returns a list of issues for a Salesforce organization. In order to reduce token usage, string values for the category, priority, effort, wellArchitectedCategory, and metadataType fields have been replaced with numeric IDs. Refer to the published MCP resources to map these integer values back to their string representations. The filter parameter will accept either the numeric or the string values as input, but the response will always return the numeric values.
You are highly encouraged to use the 'fields' parameter to explicitly select only the fields you need, further reducing token usage. Note that you can still use any supported field in your 'filter' or 'sort' parameters even if you do not include those fields in your returned 'fields' subset.
More detailed context for each issue can be retrieved using the get_org_recommendation tool, using the issue key returned by this tool as an input parameter.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 100, max 1000)
Number items to skip
A comma-separated list of fields to include in the response. If omitted, all fields are
returned. Example: priority,effort,title
Resource Query Language (RQL) formatted filter criteria.
Note: The filter will accept either the numeric or string values for the priority,
effort, metadataType, category, and all
wellArchitectedCategoryLevel fields.
Example:
"filter": "and(eq(priority, high), eq(effort, 1), in(metadataType, profiles,
17), contains(wellArchitectedCategoryLevel3, security))"
Supported Fields:
priorityeffortwellArchitectedCategoryLevel1wellArchitectedCategoryLevel2wellArchitectedCategoryLevel3wellArchitectedCategoryLevel4metadataTypenamespacerelatedObjectcategoryapiNameruletitlelabelcontent
Operators: and(), or(), not(), eq(),
ne(), gt(), gte(), lt(), lte(),
in(), out(), like(), ilike(),
contains(), isNull(), isNotNull().
Defaults to isNull(namespace).
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
priorityeffortwellArchitectedCategoryLevel1wellArchitectedCategoryLevel2wellArchitectedCategoryLevel3wellArchitectedCategoryLevel4metadataTypenamespacerelatedObjectcategoryapiNameruletitlelabelcontent
Prepend with - for descending order.
Defaults to -priority,effort.
Get Org Object
Name: get_org_object
Get a single Object by id. Returns the full record (sharing models, usage-query state, setup URL). Use list_org_objects to discover ids.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Object ID (matches the id returned by list_org_objects)
Get Org Recommendation
Name: get_org_recommendation
Returns detailed information for a specific issue recommendation. Unlike the list_org_issues list tool which returns token-optimized numerical IDs for many fields, this endpoint retains the full text representation for more actionable context.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
The unique key for tracking an issue across scans of an org.
Response Schema
The unique rule identifier for the issue
The priority level of the recommendation (Low, Medium, High)
Estimated effort required to implement the recommendation (Low, Medium, High)
Human-readable title of the recommendation
Detailed description or instructions for the recommendation
The top-level category in the Salesforce Well-Architected framework
The second-level category in the Salesforce Well-Architected framework
The third-level category in the Salesforce Well-Architected framework
The fourth-level category in the Salesforce Well-Architected framework
The functional category of the recommendation
URL to the documentation for the level 4 Well-Architected category
The Salesforce object related to the issue
The type of Salesforce metadata
Indicates if the recommendation was first introduced in the current scan
Indicates if the issue was not found in the most recent scan
The date the this issue was first detected by a Hubbl scan.
The date the this issue was most recently detected by a Hubbl scan.
Unique identifier of an issue across all scans of an org
The Salesforce namespace where the issue was found
A human-readable label for the metadata or component
The API name of the Salesforce component or metadata item
The line number where the issue was identified
Indicates whether this is a basic health check recommendation
The sub-score area this recommendation affects natively
URL to documentation on how a developer can resolve this issue
URL to documentation on how an administrator can resolve this issue
Relative path from repository root to the related component
List Org Connected Apps
Name: list_org_connected_apps
List connected apps connected to the given org. Returns the app name, usage counts, install and last used dates. For further details about a given app, use the get_connected_app tool.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 50, max 1000)
Number items to skip
Resource Query Language (RQL) formatted filter criteria.
Example:
"filter": "and(eq(isInstalled,true),gte(usageCount,2))"
Supported Fields:
idnamelabelnamespacePrefixsalesforceIdclientIdisInstalledisLocalisBlockeduserCountusageCountcreatedDatelastModifiedDatefirstUsedDatelastUsedDate
Operators: and(), or(), not(), eq(),
in(), contains(), gte(), lte(),
between(), isNull(), isNotNull().
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
idnamelabelnamespacePrefixsalesforceIdisInstalledisLocalisBlockeduserCountusageCountcreatedDatelastModifiedDatefirstUsedDatelastUsedDate
Prepend with - for descending order.
Defaults to -lastUsedDate.
Response Schema
Paginated response containing a list of connected apps registered against an organization.
A minimal representation of a connected app.
Internal Hubbl primary key ID.
Indicates if the app is currently installed in the org.
The 18-character Salesforce ID of the app record.
The Salesforce application identifier.
The display name (UI Label) of the connected app.
The developer name (API Name) of the connected app.
The namespace prefix associated with the connected app.
A brief description of the app's purpose.
The timestamp the app was created in Salesforce.
Number of users who have authorized this app.
Total number of times this app has been used.
The timestamp of the first recorded use.
The timestamp of the most recent usage of this app in the org.
URL for additional information about the app.
Indicates if the app uses admin-preauthorized OAuth scopes.
Indicates if the app has been blocked by an administrator.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Fields
Name: list_org_fields
List Salesforce fields in an org. Returns id/apiName/label/type, object, custom/formula/lookup flags, recordCount, percentPopulated. Use get_org_field for the full record.
The type field is returned as a numeric ID. Read the hubbl://field-type resource to map IDs back to string values.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 200, max 1000)
Number of items to skip
Resource Query Language (RQL) formatted filter criteria.
Note: The filter accepts both numeric IDs and string values for the type field
interchangeably.
Example:
"filter": "and(eq(isCustom,true),gte(percentPopulated,50))"
"filter": "in(type,Text,2)" — mixes string and numeric type
values
Supported Fields:
idapiNamelabeltypeobjectisCustomisFormulaisLookuprecordCountpercentPopulated
Operators: and(), or(), not(), eq(),
in(), contains(), gte(), lte(),
between(), isNull(), isNotNull().
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
idapiNamelabeltypeobjectrecordCountpercentPopulated
Prepend with - for descending order.
Defaults to -percentPopulated.
Response Schema
Paginated response containing a list of Salesforce fields scanned in an org.
A minimal representation of a Salesforce field scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
Internal Hubbl ID of the parent SObject.
API name of the parent object (e.g. Account, Contact).
API name of the field (e.g. FirstName, Custom_Field__c).
Display label of the field.
Salesforce field data type (e.g. Text, Number, Checkbox).
Description text of the field.
Whether this is a custom field (__c suffix).
Whether the field is usable for querying.
Number of records where this field is populated.
Total number of records in the parent object.
Percentage of records where this field is populated.
Namespace prefix for managed package fields.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Installed Packages
Name: list_org_installed_packages
Returns a list of managed and unmanaged packages installed in a Salesforce organization.
The packageType field is returned as a numeric ID. Read the hubbl://package-type resource to map IDs back to string values.
For the full record (version segments, package version metadata), use the get_installed_package tool with the id returned by this tool.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 1000)
Number of items to skip
Resource Query Language (RQL) formatted filter criteria.
Note: The filter accepts both numeric IDs and string values for the
packageType field interchangeably.
Example:
"filter": "and(eq(isManaged,true),eq(isOutdated,true))"
"filter": "in(packageType,Managed,2)" — mixes string and
numeric packageType values
Supported Fields:
idnamelabelpublisherNamenamespacePrefixsalesforceIdsalesforceVersionIdpackageTypereleaseStateisManagedisDeprecatedisSecurityReviewedisBetaisOutdatedinstallDate
Operators: and(), or(), not(), eq(),
in(), contains(), gte(), lte(),
between(), isNull(), isNotNull().
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
idnamepublisherNameinstallDate
Prepend with - for descending order.
Defaults to -installDate.
Response Schema
Paginated response containing a list of installed packages in an organization.
Internal Hubbl primary key ID.
The developer name of the package.
The display label of the package.
A brief description of the package's purpose.
The name of the organization that published the package.
The namespace prefix that identifies this package.
The specific build number of the installed version.
The release state (e.g., Released, Beta).
Indicates whether the package version is deprecated.
Indicates whether the package is a managed package.
Indicates whether the package is protected by a password.
Indicates whether the package has passed Salesforce security review.
The 18-character Salesforce ID of the installed package.
The Salesforce ID for this specific package version (starts with 04t).
Indicates whether the package is dependent on the organization's metadata.
Indicates whether the package installation is valid.
Indicates whether this is a beta version of the package.
The date and time when the package was installed in the org.
Indicates whether a newer version of the package is available.
The version number of the latest available version of the package.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Issues
Name: list_org_issues
Returns a list of issues for a Salesforce organization. In order to reduce token usage, string values for the category, priority, effort, wellArchitectedCategory, and metadataType fields have been replaced with numeric IDs. Refer to the published MCP resources to map these integer values back to their string representations. The filter parameter will accept either the numeric or the string values as input, but the response will always return the numeric values.
You are highly encouraged to use the 'fields' parameter to explicitly select only the fields you need, further reducing token usage. Note that you can still use any supported field in your 'filter' or 'sort' parameters even if you do not include those fields in your returned 'fields' subset.
More detailed context for each issue can be retrieved using the get_org_recommendation tool, using the issue key returned by this tool as an input parameter.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number items to return (default 100, max 1000)
Number items to skip
A comma-separated list of fields to include in the response. If omitted, all fields are
returned. Example: priority,effort,title
Resource Query Language (RQL) formatted filter criteria.
Note: The filter will accept either the numeric or string values for the priority,
effort, metadataType, category, and all
wellArchitectedCategoryLevel fields.
Example:
"filter": "and(eq(priority, high), eq(effort, 1), in(metadataType, profiles,
17), contains(wellArchitectedCategoryLevel3, security))"
Supported Fields:
priorityeffortwellArchitectedCategoryLevel1wellArchitectedCategoryLevel2wellArchitectedCategoryLevel3wellArchitectedCategoryLevel4metadataTypenamespacerelatedObjectcategoryapiNameruletitlelabelcontent
Operators: and(), or(), not(), eq(),
ne(), gt(), gte(), lt(), lte(),
in(), out(), like(), ilike(),
contains(), isNull(), isNotNull().
Defaults to isNull(namespace).
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
priorityeffortwellArchitectedCategoryLevel1wellArchitectedCategoryLevel2wellArchitectedCategoryLevel3wellArchitectedCategoryLevel4metadataTypenamespacerelatedObjectcategoryapiNameruletitlelabelcontent
Prepend with - for descending order.
Defaults to -priority,effort.
Response Schema
Unique identifier of an issue across all scans of an org
The priority level of the recommendation (Low, Medium, High)
Estimated effort required to implement the recommendation (Low, Medium, High)
Human-readable title of the recommendation
The top-level category in the Salesforce Well-Architected framework
The second-level category in the Salesforce Well-Architected framework
The third-level category in the Salesforce Well-Architected framework
The fourth-level category in the Salesforce Well-Architected framework
The functional category of the recommendation
The Salesforce namespace where the issue was found
The API name of the Salesforce component or metadata item
The Salesforce object related to the issue
The type of Salesforce metadata
The date and time when the issue record was last updated
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
List Org Object Fields
Name: list_org_object_fields
List fields belonging to one Salesforce Object (pre-filtered by id). Returns id/apiName/label/type, flags, recordCount, percentPopulated. Use get_org_field for the full record.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Object ID (matches the id returned by list_org_objects)
Number of items to return (default 200, max 1000)
Number of items to skip
Resource Query Language (RQL) formatted filter criteria.
Note: The filter accepts both numeric IDs and string values for the type field
interchangeably.
Example:
"filter": "and(eq(isCustomField,true),gte(percentPopulated,50))"
"filter": "in(type,Text,2)" — mixes string and numeric type
values
Supported Fields:
iditemIdapiNamelabeltypenamespaceisCustomFieldisFormulaisRollupSummaryisLookupisMasterDetailisEncryptedisUsableisAggregatablerecordCountpercentPopulatedcomplianceGroupsecurityClassification
Operators: and(), or(), not(), eq(),
in(), contains(), gte(), lte(),
between(), isNull(), isNotNull().
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
iditemIdapiNamelabeltypenamespaceisCustomFieldisFormulaisRollupSummaryisLookupisMasterDetailisEncryptedisUsableisAggregatablerecordCountpercentPopulatedcomplianceGroupsecurityClassification
Prepend with - for descending order.
Defaults to -percentPopulated.
List Org Objects
Name: list_org_objects
List Salesforce objects (Objects) in an org. Returns id/apiName/label/type, namespace, recordCount, last-used date, sharing flags. Use get_org_object for the full record.
The type and customSettingType fields are returned as numeric IDs. Read the hubbl://object-type and hubbl://object-custom-setting-type resources to map IDs back to string values.
Input Schema
The Salesforce Organization ID. e.g. 00D8c0000000000EAE
Number of items to return (default 50, max 1000)
Number of items to skip
Resource Query Language (RQL) formatted filter criteria.
Note: The filter accepts both numeric IDs and string values for the type and
customSettingType fields interchangeably. The numeric form is recommended because
the string values contain spaces (e.g. "Custom Object").
Example: "filter": "and(eq(type,3),gte(recordCount,1))" —
numeric (3 = Custom Object)
"filter": "in(type,Custom Object,Standard Object)" — string
form, mixes also allowed "filter": "eq(customSettingType,2)" —
numeric (2 = List)
Supported Fields:
iditemIdapiNamelabeltypenamespacecustomSettingTypeisReportableisQueryableusageQueryFailedrecordCountlastUsedDate
Operators: and(), or(), not(), eq(),
in(), contains(), gte(), lte(),
between(), isNull(), isNotNull().
JSON:API Sort string (see https://jsonapi.org/format/#fetching-sorting).
Supported Fields:
iditemIdapiNamelabeltypenamespacerecordCountlastUsedDate
Prepend with - for descending order.
Defaults to -lastUsedDate.
Response Schema
Paginated response containing a list of Salesforce objects scanned in an org.
A minimal representation of a Salesforce object scanned in an org.
Internal Hubbl primary key ID.
Hubbl item identifier.
API name of the object (e.g. Account, Custom_Object__c).
Display label of the object.
Salesforce object type (e.g. Standard Object, Custom Object).
Description text of the object.
Namespace prefix for managed package objects.
Total number of records in the object at scan time.
Count of records created or updated in the last 90 days.
Count of records created or updated in the last 365 days.
Most recent time any record in the object was created or updated.
Pagination metadata for the public API, including navigation links.
Total number of items
Current offset
Next offset value (null if last page)
URL for the next page (null if last page)
Server Info
Name: server_info
Returns metadata about this Hubbl MCP server, including the list of supported MCP API versions and each version's deprecation status. Call this to discover the canonical version contract — distinct from the MCP protocol handshake's software version.
Input Schema
No arguments required
Was this page helpful?