Skip to main content
Glama
davep-gh

Salesforce Object MCP Server

by davep-gh

Salesforce Object MCP Server

A Model Context Protocol (MCP) server that helps AI agents understand Salesforce metadata by parsing .object-meta.xml and .field-meta.xml files. This server provides tools for discovering objects, fields, relationships, formulas, and validation rules to reduce AI hallucination when working with Salesforce repositories.

Features

  • Universal Repository Support: Works with any Salesforce repository structure - no configuration needed

  • Automatic Discovery: Recursively finds all .object-meta.xml and .field-meta.xml files

  • Comprehensive Object Information: Access object metadata, fields, relationships, and validation rules

  • Smart Caching: In-memory caching with file modification time checks for fast responses

  • Relationship Mapping: Bidirectional relationship discovery (both incoming and outgoing)

  • Formula & Validation Support: Parse and understand formula fields and validation rules

  • Search Capabilities: Full-text search across all metadata

Related MCP server: MCP Salesforce Server

Available Tools

1. list_objects

List all Salesforce objects in the repository.

Parameters:

  • includeStandard (optional): Include standard objects (default: true)

  • pattern (optional): Filter by name pattern (case-insensitive)

Example:

{
  "includeStandard": false,
  "pattern": "Account"
}

2. get_object_details

Get comprehensive details about a specific object.

Parameters:

  • objectName (required): API name of the object

Example:

{
  "objectName": "Account"
}

3. list_fields

List all fields for a specific object.

Parameters:

  • objectName (required): API name of the object

  • fieldType (optional): Filter by field type (Text, Lookup, Formula, etc.)

Example:

{
  "objectName": "Account",
  "fieldType": "Formula"
}

4. get_field_details

Get detailed information about a specific field.

Parameters:

  • objectName (required): API name of the object

  • fieldName (required): API name of the field

Example:

{
  "objectName": "Account",
  "fieldName": "AnnualRevenue"
}

5. find_relationships

Find all relationships for an object.

Parameters:

  • objectName (required): API name of the object

  • direction (optional): "outgoing", "incoming", or "both" (default: both)

Example:

{
  "objectName": "Contact",
  "direction": "both"
}

6. search_metadata

Search across all metadata by keyword.

Parameters:

  • query (required): Search term (case-insensitive)

  • scope (optional): "objects", "fields", or "all" (default: all)

Example:

{
  "query": "revenue",
  "scope": "fields"
}

7. get_validation_rules

Get validation rules for an object.

Parameters:

  • objectName (required): API name of the object

Example:

{
  "objectName": "Opportunity"
}

Installation

Local Development

  1. Clone the repository:

git clone <repository-url>
cd SFObjectMCP
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Run the server:

SF_REPO_PATH=/path/to/your/salesforce/repo npm start

Docker

  1. Build the Docker image:

docker build -t sf-object-mcp .
  1. Run the container:

docker run -it \
  -e SF_REPO_PATH=/workspace \
  -v /path/to/your/salesforce/repo:/workspace:ro \
  sf-object-mcp

Docker Compose

  1. Edit docker-compose.yml and update the volume mount:

volumes:
  - /path/to/your/salesforce/repo:/workspace:ro
  1. Start the server:

docker-compose up

MCP Configuration

To use this server with an MCP client (like Claude Desktop), add the following to your MCP configuration file:

Using Local Installation

{
  "mcpServers": {
    "salesforce-metadata": {
      "command": "node",
      "args": ["/path/to/SFObjectMCP/dist/index.js"],
      "env": {
        "SF_REPO_PATH": "/path/to/your/salesforce/repo"
      }
    }
  }
}

Using Docker

{
  "mcpServers": {
    "salesforce-metadata": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SF_REPO_PATH=/workspace",
        "-v",
        "/path/to/your/salesforce/repo:/workspace:ro",
        "sf-object-mcp"
      ]
    }
  }
}

Supported Formats

This server works with any Salesforce repository structure. It scans for .object-meta.xml and .field-meta.xml files anywhere in your repository, regardless of directory structure.

Examples of Supported Structures

Standard SFDX:

force-app/main/default/objects/Account/Account.object-meta.xml

Custom SFDX:

src-package/main/default/core/objects/Account/Account.object-meta.xml

Metadata API:

src/objects/Account.object

Any custom structure:

any-directory/objects/Account/Account.object-meta.xml

The scanner automatically finds all Salesforce metadata files regardless of where they're located in your repository structure.

How It Works

  1. First Tool Call: When the first tool is called, the server scans the repository for all .object-meta.xml and .field-meta.xml files

  2. Parsing: XML files are parsed and converted into structured TypeScript objects

  3. Caching: Parsed metadata is cached in memory with file modification time tracking

  4. Relationship Mapping: The server builds a bidirectional relationship map

  5. Subsequent Calls: Future tool calls use the cache for fast responses

Development

Build

npm run build

Watch Mode

npm run watch

Development Mode

npm run dev

Troubleshooting

Error: SF_REPO_PATH environment variable is required

Make sure you've set the SF_REPO_PATH environment variable to point to your Salesforce repository.

No objects found

Ensure your repository contains .object-meta.xml files. The scanner searches the entire repository recursively, so metadata files can be in any directory structure. Common locations include:

  • force-app/main/default/objects/

  • src-package/main/default/core/objects/

  • src/objects/

  • Any custom directory containing an objects/ folder

Object/Field not found

The server only discovers objects and fields that have metadata files in the repository. Standard objects may not be present unless they've been customized.

Use Cases

  • AI-Assisted Development: Help AI agents understand your Salesforce schema to provide accurate code suggestions

  • Documentation: Generate documentation from metadata

  • Schema Analysis: Understand relationships and dependencies

  • Code Review: Validate field references and formula syntax

  • Migration Planning: Map object and field usage

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Available Tools

7 tools
find_relationshipsA

Find all relationships for an object. Can show outgoing relationships (lookups from this object), incoming relationships (lookups to this object), or both.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionNoDirection: outgoing (lookups from this object), incoming (lookups to this object), or both (default: both)
objectNameYesAPI name of the object

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of explaining behavior. It does clarify the direction semantics (outgoing vs incoming), but it omits other behavioral traits such as whether results are paginated, what fields are returned, or any required permissions. For a read-only tool, the lack of mutation is implied but not explicitly disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-structured sentence that front-loads the tool's primary purpose and then explains the key option (direction). Every part of the sentence contributes value with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The input side is complete with a required objectName and an enumerated direction parameter with a default. However, there is no output schema and the description does not explain what the returned relationship data looks like. Given the tool's simplicity, this is a moderate gap rather than a critical one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented well in the schema. The description's explanation of outgoing and incoming relationships adds a little context, but largely restates the schema text, keeping this at the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Find') and resource ('relationships for an object'), and further clarifies what outgoing and incoming relationships mean. This clearly distinguishes it from sibling tools like list_fields and get_object_details, which focus on other metadata aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it—when an agent needs relationship information for an object—but it does not explicitly mention alternatives or state when not to use it. With siblings that are all metadata-related, the intended use case is inferable but not directly contrasted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_field_detailsA

Get detailed information about a specific field including type, length, formula, picklist values, and relationship information.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldNameYesAPI name of the field
objectNameYesAPI name of the object

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It does convey that this is a read-only information retrieval and specifies the categories of information returned, but it remains silent on failure behavior, authentication requirements, or whether relationship details are recursive or limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that states the resource and then lists the returned attribute categories. No filler or repeated schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with no output schema, the description's enumeration of returned details is a reasonable completeness signal. However, it would be more complete with a note about the tool's relationship to find_relationships or about error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema documentation covers 100% of parameters with clear definitions ('API name of the field' and 'API name of the object'), so the baseline is 3. The description adds no further parameter-level guidance such as naming conventions or required format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Get detailed information about a specific field') with a concrete resource domain and enumerates the informational payload (type, length, formula, picklist values, relationships). This clearly separates it from list_fields and get_object_details by focusing on a single field's metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when an agent needs detailed metadata for one named field, but it never names alternatives or exclusion conditions. Sibling tools like list_fields, find_relationships, and get_object_details overlap in surface area, so explicit routing would help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_object_detailsA

Get comprehensive details about a specific Salesforce object including all fields, validation rules, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
objectNameYesAPI name of the object (e.g., Account, CustomObject__c)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the scope of the returned details (fields, validation rules, metadata) and 'Get' implies a read operation, but it does not explicitly state read-only behavior, permission requirements, or potential size/performance implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one compact sentence, front-loaded with the action and resource, and every word adds value. There is no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter get tool with no output schema, the description adequately explains what is returned. It is missing only minor details such as error behavior for nonexistent objects, but is otherwise complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage for the single parameter 'objectName', including an example format. The tool description adds no additional parameter-specific meaning, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('specific Salesforce object') and clearly states what is included ('all fields, validation rules, and metadata'). This distinguishes it from sibling tools that target narrower concerns like list_fields or get_validation_rules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when comprehensive object-level detail is needed, but it does not explicitly name sibling tools or state when to prefer a more specific tool. Guidance is implied, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_validation_rulesA

Get all validation rules for an object including formulas, error messages, and active status.

ParametersJSON Schema
NameRequiredDescriptionDefault
objectNameYesAPI name of the object

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It communicates that this is a read-only retrieval operation and indicates the kinds of fields returned. However, it does not disclose potential pagination, permission requirements, error behavior, or whether the result is a list of all rules or filtered by some default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It states the action, the target resource, and the key content of the result efficiently. Every part of the sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple one-parameter read-only tool with no output schema. The description says what the tool returns (validation rules including formulas, error messages, and active status), which is enough for an agent to invoke it correctly. It could add details about output shape or edge cases, but for this complexity level the description is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes objectName as 'API name of the object', so schema coverage is 100%. The description adds nothing about parameter syntax or behavior beyond restating that the tool applies to 'an object'. Baseline 3 is appropriate because the schema carries the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Get'), a specific resource ('validation rules for an object'), and the content scope ('formulas, error messages, and active status'). This clearly distinguishes it from sibling tools like list_fields, get_field_details, or find_relationships, which deal with different metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this tool over its siblings, nor any mention of alternatives or exclusions. The purpose is clear, but the description does not help an agent decide between get_validation_rules and other metadata-listing tools in the sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_fieldsB

List all fields for a specific Salesforce object. Optionally filter by field type.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldTypeNoFilter by field type (e.g., Text, Lookup, Formula, Picklist)
objectNameYesAPI name of the object

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it lists fields but does not mention whether it is read-only, possible errors (e.g., invalid object name), pagination, or return format. For a list operation, the lack of any note about side effects or constraints leaves important behavioral information undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately states the core action and the optional filter. There is no redundant text, and the most important information is front-loaded. It is appropriately concise for a tool with two parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only two parameters, no annotations, and no output schema, the description is relatively simple. However, it lacks explicit usage guidance relative to sibling tools and does not clarify expected behavior or error conditions. For a straightforward listing operation, it is minimally sufficient but not complete enough to warrant a higher score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, and both objectName and fieldType are described in the schema. The description merely repeats the filter capability without adding new meaning. Per the baseline for high schema coverage, a score of 3 is appropriate; the description does not exceed the schema's documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists fields for a specific Salesforce object and optionally filters by type. It uses specific verbs and resources, which makes the purpose understandable. However, it does not explicitly differentiate from sibling tools like get_field_details or list_objects, so it earns a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions an optional filter but provides no guidance on when to use this tool versus alternatives. There is no mention of when to choose list_fields over get_field_details or list_objects, and no exclusions or contexts are stated. An agent would have to infer appropriate usage from the name and purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_objectsA

List all Salesforce objects found in the repository. Optionally filter by pattern or exclude standard objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternNoFilter objects by name pattern (case-insensitive)
includeStandardNoInclude standard objects (default: true)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It does disclose a repository-scoped, read-only listing with optional filtering, which is the core behavioral profile. However, it adds nothing about pagination, returned item shape, ordering, or potential cost/scope of scanning the whole repository — gaps that matter for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, roughly 17 words, with the core action front-loaded in the first sentence and optional behaviors cleanly separated in the second. Every word earns its place; nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero required parameters, the invocation surface is adequately covered: what it lists, where from, and both optional filters. But with no output schema, the description doesn't indicate what the returned object list contains, and it doesn't clarify when to prefer this over get_object_details. Adequate for a basic call, incomplete for confident self-service.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters, including case-insensitive matching and the boolean default of true. The description's mention of filtering by pattern and excluding standard objects mildly reinforces the parameters but adds no new meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (List) and a specific resource (Salesforce objects found in the repository), plus the two optional filtering behaviors. It distinguishes itself from siblings by resource type: list_fields targets fields, get_object_details targets a single object, find_relationships targets relationships, so an agent can tell them apart without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus its alternatives. The description never names a sibling (e.g., 'use get_object_details for a single object's details') or states a condition that should route an agent elsewhere. The filtering mention is parameter usage, not tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_metadataA

Search across all metadata by keyword. Searches object names, labels, field names, descriptions, and formulas.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch term (case-insensitive)
scopeNoSearch scope: objects, fields, or all (default: all)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clearly frames the tool as a non-destructive metadata search and enumerates the content areas it covers. With no annotations, the description carries some behavioral burden, but it does not mention result-set behavior, search matching semantics, pagination, or access requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The main action is front-loaded, and the second sentence adds valuable detail about what is being searched without repeating the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Inputs are fully documented by the schema, and the description explains what content is searched. However, there is no output schema and no description of what the search returns, which leaves the result shape and semantics somewhat unspecified for a tool that produces results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds a helpful list of metadata types but provides no additional meaning for the query or scope parameters beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the exact operation ('Search'), the full resource ('all metadata'), and the dimensions searched (object names, labels, field names, descriptions, formulas). This makes it clearly distinct from the sibling list/get tools, which are narrower browsing or detail operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you need keyword-based discovery across many metadata types, and the sibling names reinforce that this is the cross-cutting search option. However, it does not explicitly state when to use this vs list_fields/get_object_details, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.0
    • First observedfind_relationships
    • First observedget_field_details
    • First observedget_object_details
    • First observedget_validation_rules
    • First observedlist_fields
    • First observedlist_objects
    • First observedsearch_metadata

TDQS

A3.8/5.0
Disambiguation4/5

Most tools have clear, distinct purposes, but get_object_details overlaps with list_fields and get_validation_rules by returning fields and validation rules as part of its comprehensive output. This creates minor boundary ambiguity, though descriptions help an agent choose between a targeted call and a comprehensive call.

Naming Consistency5/5

Every tool follows a consistent verb_noun snake_case pattern: list_, get_, find_, search_. The naming is predictable and makes the purpose of each tool immediately clear.

Tool Count5/5

Seven tools is well-scoped for a Salesforce metadata exploration server. Each tool covers a meaningful part of the domain without unnecessary bloat or obvious redundancy.

Completeness5/5

The surface covers the core metadata discovery workflow: listing objects, listing fields, getting field details, finding relationships, accessing validation rules, and searching metadata. For a read-only metadata exploration server, there are no significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI copilots to understand and query Salesforce org configurations through intelligent metadata chunking and semantic search. Provides access to Apex classes, custom objects, flows, layouts, and other metadata with hybrid vector and keyword search capabilities.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with Salesforce through a secure interface for performing CRUD operations, executing SOQL queries, and managing schema discovery. It features a smart learning system that analyzes custom objects and fields to provide intelligent assistance tailored to specific Salesforce configurations.
    14
    19
    17
    BSD 2-Clause "Simplified"
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI models to interactively explore, analyze, and manage Salesforce organizations through OAuth2 authentication and standardized tools.
    37
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/davep-gh/SFObjectMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server