sf-docs-mcp
Collects and serves Salesforce documentation from developer.salesforce.com, providing tools for search, semantic search, topic reading, graph query, domain listing, Apex class lookup, code examples, object reference, error explanation, limits lookup, domain restriction, and domain suggestion, as well as prompts for exploring APIs, debugging Apex, comparing services, and writing Apex code.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sf-docs-mcpFind Apex code snippets for batch processing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Overview
This system programmatically collects all Salesforce documentation from developer.salesforce.com (129 domains, 35,000+ pages), processes it into structured, curated knowledge files, and serves them to LLM agents via:
Context Engineering — Pre-compiled Markdown files with
_index.mdrouting tablesMCP Server — 12 tools + 4 prompts + 5 resources via Model Context Protocol
Knowledge Graph — 53,000+ nodes and 450,000+ edges connecting SF concepts, namespaces, services, and cross-references
No embeddings. No vector stores. No blind chunking.
Related MCP server: mcp-server-salesforce
Quick Start
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sf-docs": {
"command": "npx",
"args": ["-y", "-p", "@sfdxy/sf-documentation-knowledge", "sf-docs-mcp"],
"env": {
"SF_ACTIVE_DOMAINS": "apex-guide,apex-reference,lwc"
}
}
}
}Remove the
envblock to search all 129 domains. See Domain Restriction for details.
Restart Claude Desktop.
VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your workspace (or globally in VS Code settings):
{
"servers": {
"sf-docs": {
"command": "npx",
"args": ["-y", "-p", "@sfdxy/sf-documentation-knowledge", "sf-docs-mcp"],
"env": {
"SF_ACTIVE_DOMAINS": "apex-guide,apex-reference,lwc"
}
}
}
}Then use @sf-docs in Copilot Chat to query Salesforce documentation.
Gemini Code Assist / Gemini CLI
Add to your MCP config (~/.gemini/settings.json or project .gemini/settings.json):
{
"mcpServers": {
"sf-docs": {
"command": "npx",
"args": ["-y", "-p", "@sfdxy/sf-documentation-knowledge", "sf-docs-mcp"],
"env": {
"SF_ACTIVE_DOMAINS": "apex-guide,apex-reference,lwc"
}
}
}
}Cursor
Add in Settings -> MCP Servers -> Add Server:
Name:
sf-docsCommand:
npx -y -p @sfdxy/sf-documentation-knowledge sf-docs-mcpTransport:
stdioEnvironment:
SF_ACTIVE_DOMAINS=apex-guide,apex-reference,lwc
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"sf-docs": {
"command": "npx",
"args": ["-y", "-p", "@sfdxy/sf-documentation-knowledge", "sf-docs-mcp"],
"env": {
"SF_ACTIVE_DOMAINS": "apex-guide,apex-reference,lwc"
}
}
}
}OpenCode
Add to your OpenCode config (~/.config/opencode/config.json or project .opencode/config.json):
{
"mcpServers": {
"sf-docs": {
"command": "npx",
"args": ["-y", "-p", "@sfdxy/sf-documentation-knowledge", "sf-docs-mcp"],
"env": {
"SF_ACTIVE_DOMAINS": "apex-guide,apex-reference,lwc"
}
}
}
}Any MCP Client (Generic)
Point your MCP client to:
npx -y -p @sfdxy/sf-documentation-knowledge sf-docs-mcpThe server uses stdio transport and is compatible with any MCP client.
Why
-p+sf-docs-mcp?
The package ships two binaries:sf-knowledge(the data pipeline CLI) andsf-docs-mcp(the MCP server). Using-pinstalls the package and then explicitly calls thesf-docs-mcpbinary, ensuring you get the MCP server and not the CLI.
Use from Source
git clone https://github.com/Avinava/sf-documentation-knowledge.git
cd sf-documentation-knowledge
npm install
npm run build
npm run mcp:startMCP Server
The MCP server loads the full 53k-node knowledge graph and 18,000+ code snippets into memory on startup (~5s) and serves all queries instantly.
Run directly from source:
npm run mcp:startOr via npx (no clone required):
npx -y -p @sfdxy/sf-documentation-knowledge sf-docs-mcpTools (12)
Tool | Purpose | Example Usage |
| Search across all SF documentation domains | "Find docs about Platform Events" |
| AI-powered semantic search with NLP query understanding | "how to process records in bulk" |
| Read a specific documentation topic's content | Read the SOQL reference page |
| Navigate the knowledge graph — related docs, namespaces, services | "Show all docs in the System namespace" |
| List all available domains, filter by service category | "List analytics domains" |
| Look up an Apex class with full documentation | "Look up the String class" |
| Find working code snippets by topic, language, or domain | "Show batch apex code examples" |
| Look up Salesforce objects and fields (6,500+ ref pages) | "Look up Account.Industry field" |
| Decode error messages with context and resolution steps | "Explain UNABLE_TO_LOCK_ROW" |
| Governor limits lookup — exact numbers for 15 categories | "What are SOQL limits?" |
| Restrict all tools to specific documentation domains | Focus on revenue-cloud only |
| Suggest relevant domains for a task description | "contract lifecycle management" |
Prompt Templates (4)
Prompt | What It Does | Arguments |
| Walk through a Salesforce API — endpoints, auth, best practices |
|
| Debug an Apex issue — class lookup, error patterns, examples |
|
| Compare Salesforce products by documentation coverage |
|
| Write production-ready Apex — gathers limits, patterns, examples first |
|
Resources (5)
Agents can read these without making a tool call:
Resource URI | Content |
| System stats, available tools, quick start guide |
| All documentation domains with descriptions |
| All Apex namespaces with doc counts |
| All service categories with domain counts |
| Current domain restriction state and runtime controls |
Domain Restriction
When working on a specific Salesforce product area (e.g., Revenue Cloud, Apex development), you can restrict all tools to only search within relevant domains. This reduces noise and improves result quality.
How It Works
At startup: Set
SF_ACTIVE_DOMAINSas a comma-separated list of domain IDs in your MCP client configAt runtime: Use
sf_set_active_domainsto change the active domains without restartingNot set: All 129 domains are searched (default, no breaking change)
Per-call domain filter outside active set: Returns empty results with a warning (not an error)
sf_read_topic outside active set: Shows a gentle note but still allows reading
Discovering Domains
# Let the AI suggest domains for your task
sf_suggest_domains("building LWC components with Apex backend")
→ Suggests: lwc, apex-guide, apex-reference, lightning
# Set the suggested domains
sf_set_active_domains(domains: ["lwc", "apex-guide", "apex-reference", "lightning"])
# Check current state
sf_set_active_domains()
# Clear restrictions
sf_set_active_domains(clear: true)Behavior by Tool
Tool | Domain Restriction Behavior |
| Filters via Orama |
| Filters via Orama |
| Filters via CodeIndex |
| Post-filters |
| Domain-aware search + post-filtered keyword results |
| Warns if |
| Warns if |
| Shows all domains, marks active ones with checkmark |
| Gentle warning (still allows reads outside active set) |
| No filtering (hardcoded data, no graph search) |
All 129 Domain IDs
See docs/domains.md for the full list organized by service category, or use sf_list_domains at runtime.
Knowledge Base
The repository comes pre-loaded with 35,000+ curated markdown files and a Knowledge Graph (53,000+ nodes, 450,000+ edges) covering 129 domains of Salesforce documentation.
Option A: Context Engineering (File-based)
Point your AI agent to the _index.md file in any domain folder. The index acts as a routing table telling the AI which files contain which topics:
knowledge/current/<domain-name>/_index.mdEach domain folder also has a SKILL.md in skills/<domain-name>/SKILL.md that teaches AI agents how to navigate the knowledge.
Option B: Knowledge Graph
The graph at knowledge/current/graph.json connects all documentation with semantic relationships:
Edge Type | What It Connects |
| Document → Document (52,988 cross-references) |
| Document → Apex Namespace (143 namespaces) |
| Domain → Service Category (16 categories) |
| Document → DocType ( |
| Document → Keyword (22,610 unique keywords) |
| Domain → Document |
Inspect it with:
npm run graph:statsSee Graph Schema Documentation for the full schema with node/edge types, ID conventions, and a visual diagram.
Data Pipeline
To update the knowledge base with the latest Salesforce releases, run the pipeline in order:
Step 1: Discover Available Deliverables
npm run discoverLists all documentation deliverables available from the Salesforce Index API (~127 deliverables).
Step 2: Collect Raw Data
# Collect a specific domain
npm run collect -- --domain cli-commands
# Collect all configured (P0) domains
npm run collect
# Collect ALL deliverables from the SF index API (121 domains, ~31k pages)
npm run collect -- --discoverStep 3: Process HTML to Markdown
# Process a specific domain
npm run process -- --domain cli-commands
# Process ALL collected domains
npm run process -- --discoverAutomatically cleans HTML, strips noise, parses tables, formats code blocks, creates clean Markdown, and redacts any Salesforce tokens or secrets.
Step 4: Generate Knowledge Files & Graph
# Generate ALL collected domains and rebuild the full Knowledge Graph
npm run generate -- --discoverBuilds the knowledge graph (cross-references, namespaces, service categories, doctype clustering), generates context files, and updates inventory docs.
Step 5: Inspect the Graph
npm run graph:statsFull Pipeline (One-liner)
npm run collect -- --discover && npm run process -- --discover && npm run generate -- --discoverCLI Reference
Command | Description |
| List available SF documentation deliverables |
| Download raw HTML documentation |
| Convert HTML → Markdown with tagging |
| Generate knowledge files + graph |
| Analyze the knowledge graph |
| Start the MCP server (stdio) |
| Compile TypeScript |
| Run test suite |
| Run ESLint |
All pipeline commands support --domain <name> for single-domain processing and --discover for all-domain processing.
CI/CD
Workflow | Trigger | What It Does |
Push / PR to master | Build, test, lint, MCP smoke test | |
Push | Build, test, publish to npm, create GitHub release | |
Weekly (Sunday) | Run full pipeline to refresh docs |
Documentation
Document | Description |
System design, data flow, 4-layer architecture | |
Node/edge types, ID conventions, query examples | |
All 129 domains organized by service category | |
Complete domain list with file counts | |
How to develop and extend this repo |
License
MIT © Avinava
Inventory
Domain | Description | Status | Files |
Salesforce Field Reference Guide | Use this concise reference to quickly look up details of the standard fields for | ✅ Available | 4817 |
Apex Reference | Apex class library reference — all system classes and methods | ✅ Available | 4623 |
Connect REST API Developer Guide | Integrate mobile apps, intranet sites, and third-party web applications with Sal | ✅ Available | 2465 |
Object Reference for the Salesforce Platform | Get details on standard objects so that you can interface with your Salesforce d | ✅ Available | 1777 |
Revenue Cloud / Agentforce Revenue Management | Product catalog, pricing, billing, Dynamic Revenue Orchestrator | ✅ Available | 1364 |
OmniStudio | OmniStudio — OmniScripts, FlexCards, DataRaptors, Integration Procedures | ✅ Available | 1297 |
Public Sector Solutions Developer Guide | Use Public Sector Solutions API and developer resources to unify public service | ✅ Available | 1003 |
Agentforce Health Developer Guide | Use the Health Cloud API to configure the Health Cloud console, which helps care | ✅ Available | 833 |
Marketing Cloud API | Developer documentation for Marketing Cloud APIs | ✅ Available | 809 |
Agentforce Life Sciences Developer Guide | Use the developer resources of Life Sciences Cloud to automate the operations av | ✅ Available | 714 |
Metadata API | Metadata API — deployment, retrieval, metadata types | ✅ Available | 693 |
Insurance Developer Guide | Learn more about the developer sources of Insurance to automate the backend work | ✅ Available | 616 |
Visualforce Developer Guide | Learn how to develop custom user interfaces and apps with Visualforce, a framewo | ✅ Available | 609 |
Apex Developer Guide | Apex language guide — syntax, triggers, testing, best practices | ✅ Available | 566 |
Agentforce Financial Services Developer Guide | Extend Agentforce Financial Services with other Salesforce products using the AP | ✅ Available | 527 |
Loyalty Management Developer Guide | Use Loyalty Management API and developer resources to create personalized loyalt | ✅ Available | 526 |
Consumer Goods Cloud Developer Guide | Use APIs and developer resources to configure, customize, and extend the capabil | ✅ Available | 524 |
CRM Analytics REST API Developer Guide | Describes how to send queries directly to CRM Analytics, access datasets that ha | ✅ Available | 519 |
Lightning Aura Components Developer Guide | Create Aura components for Salesforce for Android, iOS, and mobile web and Light | ✅ Available | 491 |
Mobile SDK Development Guide | Build standalone native, React Native, and hybrid mobile apps that access Salesf | ✅ Available | 409 |
Data Cloud | Data Cloud developer guide — data models, connectors, identity resolution | ✅ Available | 400 |
Programmatic Marketing Content | Developer documentation for Marketing Cloud Programmatic Content | ✅ Available | 381 |
ISVforce Guide | Plan, build, and sell AppExchange solutions and consulting services. | ✅ Available | 356 |
Service Cloud | Service Cloud — cases, knowledge, omni-channel, entitlements | ✅ Available | 344 |
Tooling API | Tooling API — code coverage, debug logs, custom fields | ✅ Available | 339 |
Einstein Discovery REST API Developer Guide | Describes how to create and access Einstein Discovery predictions, discovery mod | ✅ Available | 312 |
Education Cloud Developer Guide | Education Cloud gives you the tools and developer resources you need to support | ✅ Available | 308 |
REST API | Salesforce REST API — resources, methods, composite, batch | ✅ Available | 308 |
Nonprofit Cloud Developer Guide | Use APIs and developer resources to configure, customize, and extend the capabil | ✅ Available | 304 |
Data Prep Recipe REST API Developer Guide | Describes how to retrieve, update, and schedule Data Prep recipes. | ✅ Available | 296 |
+ 99 more domains | See full inventory | ✅ Available | 6,901 |
129 domains | 35,431 knowledge files
Available Tools
12 toolssf_apex_lookupA
Look up an Apex class or method by name. Searches the apex-reference domain specifically for class documentation, methods, and signatures.
| Name | Required | Description | Default |
|---|---|---|---|
| className | Yes | Class name to look up (e.g. 'String', 'Database', 'List', 'ConnectApi.FeedItem') | |
| namespace | No | Optional Apex namespace filter (e.g. 'System', 'ConnectApi', 'Database') |
TDQS
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 the search scope ('class documentation, methods, and signatures') but does not disclose whether the operation is read-only, what the return format looks like, how errors are handled, or any limits (e.g., pagination). This is similar to the update_drive example where a mutation with no annotations received a 2 due to missing context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, with the first stating the primary action ('Look up an Apex class or method by name') and the second scoping the search domain. Every word is purposeful, and there is no unnecessary repetition or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup tool with a well-documented schema, the description adequately indicates what it does and its domain. However, there is no output schema, and the description does not explain return values or provide guidance on when to use this tool over the many siblings. Adding a note about alternatives or result format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters (className and namespace), yielding 100% schema coverage. The description does add the concept of 'look up by name', which aligns with className, but it does not provide extra semantic detail beyond the schema. Thus the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('look up') and resource ('Apex class or method'), and explicitly scopes the search to the 'apex-reference domain' for 'class documentation, methods, and signatures'. This clearly distinguishes it from sibling tools like sf_object_reference or sf_search, which target different domains or generic searches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Apex reference lookups by specifying that it searches the apex-reference domain, but it does not explicitly state when to use this tool over alternatives such as sf_search or sf_object_reference, nor does it mention any exclusions or when not to use it. Usage guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_code_examplesA
Find working code examples from Salesforce documentation. Returns code snippets with language, source file, and surrounding context. Great for learning patterns and copy-paste solutions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max snippets to return (default 5) | |
| topic | Yes | Topic to find code for (e.g. 'batch apex', 'REST callout', 'SOQL aggregate') | |
| domain | No | Optional domain filter (e.g. 'apex-guide', 'lwc') | |
| language | No | Optional language filter (e.g. 'apex', 'javascript', 'soql', 'json') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description takes on responsibility for behavior. It discloses that the tool returns snippets with language, source file, and surrounding context, and implies read-only search. It doesn't cover result limits, error cases, or access requirements, but for this tool type the core behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and resource, then a brief value statement. No filler; each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers purpose, main output fields, and an example use case. It is sufficient for a simple lookup tool, though it could mention how domain filters affect results or differentiate from generic search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all four parameters with descriptions (100% coverage), so baseline is 3. The description adds little param-specific detail beyond the schema, only relating output fields to language and context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a clear verb ('Find') and specific resource ('working code examples from Salesforce documentation'), and further clarifies output as code snippets. It doesn't explicitly contrast with sibling search tools like sf_search or sf_semantic_search, so it falls just short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States it is 'Great for learning patterns and copy-paste solutions,' giving clear use context. It does not mention when to prefer alternatives or exclusions, but provides enough orientation for a search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_explain_errorA
Explain a Salesforce error message or exception. Searches documentation for the error, provides explanation, common causes, and resolution steps.
| Name | Required | Description | Default |
|---|---|---|---|
| error | Yes | Error message or exception (e.g. 'UNABLE_TO_LOCK_ROW', 'System.LimitException', 'FIELD_CUSTOM_VALIDATION_EXCEPTION') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool searches documentation and provides explanation, common causes, and resolution steps. This is meaningful behavioral context, though it omits caveats like accuracy 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the primary purpose and then quickly explain the tool's process and output. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description is complete enough: it states what the tool does and what it returns (explanation, causes, resolution steps). It could add more detail on output formatting or search scope, but it covers the essentials.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single required parameter with examples, and schema description coverage is 100%. The description adds no additional parameter-specific detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Explain') and resource ('Salesforce error message or exception'), and the focus on error diagnosis clearly distinguishes it from sibling tools like sf_search or sf_semantic_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you encounter a Salesforce error to explain), but it does not explicitly state when to use it over alternatives or provide exclusions. Context is clear but guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_graph_queryB
Navigate the Salesforce Knowledge Graph. Find related docs, explore namespaces, discover service categories, or get full context for a document.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: 'related' (find cross-referenced docs), 'namespace' (list docs in an Apex namespace), 'service' (list domains in a service category), 'context' (get full doc context), 'search' (keyword search) | |
| nodeId | No | Document node ID for 'related' or 'context' (e.g. 'doc:apex-reference:apex_methods_system_string') | |
| keyword | No | Keyword for 'search' action | |
| service | No | Service category for 'service' action (e.g. 'analytics', 'commerce', 'industries') | |
| namespace | No | Namespace name for 'namespace' action (e.g. 'System', 'ConnectApi') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It suggests a read-only navigation tool but never explicitly states this or covers return format, error behavior, pagination, or other side effects. It essentially describes purpose, not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the key concept, and uses a clear second sentence to list capabilities. It omits the 'search' action, but the text is appropriately concise and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a five-parameter tool with no output schema or annotations, and the description only highlights four capabilities, leaving the 'search' action unsupported. It gives no hints about return values or action-specific combinations, though the schema fills in parameter meaning. It is minimally viable but not fully complete for an agent navigating complex graph queries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes all five parameters with 100% coverage, including an enum for actions and specific examples for nodeId, service, and namespace. This matches the baseline of 3 for high schema coverage; the description adds no further parameter-level detail, but the schema already provides adequate semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a clear domain ('Salesforce Knowledge Graph') and lists four concrete operations: finding related docs, exploring namespaces, discovering service categories, and getting full context. This indicates a distinct graph-navigation resource, though it omits the 'search' action present in the schema and does not explicitly differentiate from sibling search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by naming scenarios like exploring namespaces and service categories, but it gives no explicit guidance on when to prefer this tool over siblings such as sf_search or sf_semantic_search, nor does it state any exclusions. The multi-action enumeration provides some context but stops short of clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_limitsA
Look up Salesforce governor limits and platform constraints. Returns exact numbers for SOQL, DML, callout, CPU, heap, batch, API limits and more.
| Name | Required | Description | Default |
|---|---|---|---|
| feature | Yes | Feature area (e.g. 'soql', 'dml', 'callout', 'cpu', 'heap', 'batch', 'future', 'queueable', 'api', 'platform-events', 'triggers', 'flow', 'email', 'deployment') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility. It discloses that the tool 'Returns exact numbers' and implies read-only behavior via 'Look up', but it does not mention authentication needs, error handling, or the return format in more detail. This is basic transparency but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences that immediately state the purpose and what the tool returns. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description adequately conveys the core function and output type (exact numbers). However, it leaves minor gaps: it does not specify the response structure (e.g., JSON object) or behavior for invalid feature values, which is noticeable given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the 'feature' parameter with a descriptive list of examples (100% coverage). The description repeats some of these examples but adds no new semantic detail about parameter syntax or constraints, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Look up') and resource ('Salesforce governor limits and platform constraints'). It differentiates itself from sibling tools like sf_search or sf_explain_error by focusing on numerical limits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this tool when you need exact numbers for governor limits. However, it does not explicitly state when not to use it or mention alternative tools, though the strong purpose makes the usage context obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_list_domainsA
List all available Salesforce documentation domains, optionally filtered by service category.
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Optional service category filter (e.g. 'analytics', 'commerce', 'industries', 'platform') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states the read-only listing behavior and the optional filtering, which is adequate for a simple list tool. It does not mention edge cases like invalid service values, but that is not a significant omission for this operation type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that begins with the action and resource, immediately conveying the tool's purpose. It includes the optionality of the filter without unnecessary detail. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one optional parameter, no output schema, no annotations), the description is adequately complete. It explains the entire scope of functionality. It does not elaborate on response format, but the absence of an output schema lessens that need. Slight room for additional context about the nature of 'domains' but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the 'service' parameter with examples ('analytics', 'commerce', 'industries', 'platform'), so schema coverage is 100%. The description's mention of 'optionally filtered by service category' adds minimal meaning beyond the schema, aligning with the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('List'), the resource ('all available Salesforce documentation domains'), and the optional filtering mechanism. It effectively distinguishes this from sibling tools like sf_set_active_domains or sf_suggest_domains by focusing on enumeration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: to obtain a list of documentation domains, optionally narrowed by service category. It does not explicitly name alternatives or exclusions, but the context is sufficient for an agent to distinguish it from search or read operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_object_referenceA
Look up a Salesforce standard object or field. Searches the Field Reference Guide (4,800+ pages) and Object Reference (1,700+ pages) for object details, field types, and relationships.
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | Optional specific field (e.g. 'Industry', 'OwnerId', 'StageName') | |
| object | Yes | Object name (e.g. 'Account', 'Contact', 'Opportunity', 'Case') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses the data sources and what kind of information is returned (object details, field types, relationships), which is useful. However, it does not mention limitations (e.g., standard objects only), pagination, or output format, leaving some behavioral aspects undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence with no filler. It front-loads the core action, then adds context about the sources and output, making it optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup tool with no output schema, the description provides sufficient context: it names the sources, the type of data returned, and the scope (standard objects). It would be stronger with an explicit note about return structure, but the given info is largely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, with clear explanations for 'object' and 'field'. The description adds no parameter-specific detail beyond schema, but the schema is sufficient, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Look up') and resource ('Salesforce standard object or field'), and further narrows scope by naming the exact references (Field Reference Guide, Object Reference). This clearly distinguishes it from sibling tools like sf_search or sf_graph_query, which serve different lookup/query purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving object/field details from official Salesforce references, but it does not explicitly state when to choose this over alternatives like sf_search or sf_read_topic. No exclusions or comparisons are made, so usage guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_read_topicA
Read a specific Salesforce documentation topic file. Use sf_search first to find the domain and topic ID. Optionally request a specific section by heading.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic ID (e.g. 'apex_methods_system_string', 'intro_rest_resources') | |
| domain | Yes | Domain ID (e.g. 'apex-reference', 'rest-api', 'metadata-api') | |
| section | No | Optional heading to extract a specific section (e.g. 'Parameters', 'Example', 'Return Value') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool reads a file and optionally extracts a section, which implies a non-destructive operation, but it doesn't disclose details like return format or behavior when the topic is not found. The description is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main purpose, and each sentence adds value. It includes a usage hint and optional behavior without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no output schema, the description is adequate: it states the purpose, prerequisite, and optional section extraction. It does not explain the return value, but that is fairly self-evident for a read operation. Minor gaps like error handling are not critical for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters with descriptions, so the baseline is 3. The description adds little beyond what the schema already provides, only restating the optional section parameter. It does not clarify beyond the schema's examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and the resource ('a specific Salesforce documentation topic file'). It distinguishes itself from sibling tools by specifying that it reads a specific topic, and it even references sf_search for finding the topic, which contrasts with searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use sf_search first to find the domain and topic ID.' This tells the agent the prerequisite for using this tool. It doesn't explicitly discuss alternatives or when-not cases, but the context is clear enough for typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_searchA
Search across all Salesforce documentation domains for a topic. Returns matching documents with titles, domains, and descriptions. When domain restriction is active, only searches active domains.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 15) | |
| query | Yes | Search query (e.g. 'SOQL queries', 'Platform Events', 'ConnectApi') | |
| domain | No | Optional domain filter (e.g. 'apex-reference', 'rest-api') | |
| docType | No | Optional docType filter (e.g. 'api-reference', 'developer-guide', 'concept') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful behavioral context (searches across all domains, respects active-domain restrictions, returns specific fields), but it does not explain match semantics, ordering, pagination, or how domain/docType filters interact with the search. For a read-only search tool this is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and scope, and every clause adds context. It is concise without being under-specified, making it easy for an agent to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema, the description gives enough context: scope, conditional domain behavior, and return fields. It does not detail result count limits or enrichment possibilities, but those are partly covered by parameter defaults. The mention of domain restriction ties well into the sibling domain-management tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-level meaning beyond the schema; the mention of returning titles/domains/descriptions is output-oriented rather than parameter semantics. No penalty is warranted since the schema already documents each parameter clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('Salesforce documentation domains'), and clarifies the return payload (titles, domains, descriptions). It does not explicitly distinguish itself from the sibling sf_semantic_search, but it does convey the cross-domain scope and the active-domain restriction behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding documentation topics and mentions conditional behavior ('When domain restriction is active'), but it does not explicitly state when to prefer this over sf_semantic_search or other search-like alternatives. No clear exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_semantic_searchA
AI-powered semantic search with NLP query understanding. Analyzes your query to extract entities, intent, and synonyms for better results. Returns section-level matches with header paths. Use this for natural language questions like 'how to process records in bulk' or 'debug authentication errors'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 10) | |
| query | Yes | Natural language search query (e.g. 'how to process records in bulk', 'debug batch apex errors') | |
| domain | No | Optional domain filter (e.g. 'apex-guide', 'rest-api') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool 'analyzes your query to extract entities, intent, and synonyms' and returns 'section-level matches with header paths,' which are meaningful behavioral details. It omits any side effects, but as a search tool, read-only behavior is implied. No contradictions detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose. Each sentence contributes new information (capability, behavioral detail, usage examples). It is concise without being terse, and no unnecessary words are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no annotations, no output schema), the description provides the essential context: what it does, how it works, what it returns, and example queries. It does not explain parameter semantics beyond the schema, but the schema covers that. Overall, it is sufficiently complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces that the query parameter should be natural language, but does not add significant meaning beyond the schema's field descriptions and examples. The limit and domain parameters are not addressed in the description, but the schema covers them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource: 'semantic search' with NLP query understanding, distinguishing it from regular 'sf_search'. It also describes the output ('section-level matches with header paths') and provides concrete query examples, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use this tool for natural language questions and gives examples, providing clear context. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of the highest benchmark.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_set_active_domainsA
Set the active domain restriction. When set, all tools only return results from the specified domains. Use sf_suggest_domains first to discover relevant domain IDs. Call with clear=true to remove restrictions.
| Name | Required | Description | Default |
|---|---|---|---|
| clear | No | Set to true to clear all domain restrictions and search all domains | |
| domains | No | Array of domain IDs to restrict to (e.g. ['revenue-cloud', 'clm-developer-guide', 'cli-commands']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the global restriction effect and the clear behavior, but it omits persistence, override semantics, and any permission requirements. It adds useful behavioral context but does not fully carry the burden for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the active-verb opener, and no redundancy or filler. Every sentence contributes purpose, usage guidance, or clear behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity stateful setter, the description covers the core purpose, prerequisite discovery step, and removal instructions. It is sufficient for the tool's simplicity, though persistence and override details are not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with 100% coverage. The description adds the recommendation to use sf_suggest_domains for domain IDs and mentions clear=true, but it does not go beyond the schema's existing parameter descriptions with new semantics or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Set' with the resource 'active domain restriction' is specific. It clarifies global scope ('all tools only return results') and distinguishes it from discovery siblings like sf_suggest_domains and sf_list_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use sf_suggest_domains first to discover domain IDs and specifies clear=true to remove restrictions. It provides clear when-to-use context but does not state when not to use or offer alternatives beyond the discovery prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sf_suggest_domainsA
Suggest relevant documentation domains based on a description of what the user is working on. Returns domain IDs that can be passed to sf_set_active_domains. Use this when the user wants to focus their search on specific Salesforce products or features.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | What the user is working on (e.g. 'contract lifecycle management', 'revenue cloud billing', 'building LWC components with Apex', 'REST API integrations') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses the tool's output ('Returns domain IDs') and how those IDs are used, which is valuable behavioral context. Since this is a non-destructive suggestion tool, these details are sufficient; no rate limits, permissions, or side effects need to be mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core function, and every sentence earns its place. No filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and no annotations, the description is complete. It explains the input, the output, and how to use the result, leaving no significant gaps for an AI agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 doesn't add parameter-specific details beyond the schema, but the schema already includes rich examples. The tool description's reference to 'what the user is working on' aligns with the schema and adds slight context about the parameter's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Suggest relevant documentation domains based on a description of what the user is working on.' It uses a specific verb ('suggest') and resource ('documentation domains'), and distinguishes itself from siblings by noting that the returned domain IDs feed into sf_set_active_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit usage directive: 'Use this when the user wants to focus their search on specific Salesforce products or features.' While it doesn't name alternative tools, the context is clear and references the downstream tool (sf_set_active_domains), making the intended scenario obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct resources (domains, topics, Apex, objects, errors, limits), but sf_search and sf_semantic_search both serve general search and could be confused; sf_apex_lookup also overlaps with sf_search for Apex-specific queries. Overall mostly clear.
All tools share the 'sf_' prefix, but the action placement is inconsistent: some follow verb_noun (list_domains, read_topic, explain_error), others are noun phrases (apex_lookup, object_reference, limits, semantic_search). This mixed convention reduces predictability.
12 tools is well within the ideal 3-15 range for a documentation server, covering various access patterns without being overwhelming.
The tool set covers discovery (domains, search), reading (topics, lookups), and specialized queries (code examples, errors, limits). A minor gap is the lack of an explicit tool to enumerate all topics within a domain, but graph_query and search mitigate this.
Maintenance
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
Curated knowledge API for AI agents - skill packs, semantic search, validated patterns.
Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.
Your company's brain for AI agents. Cited, permission-aware knowledge across every system.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables LLMs to scrape, index, and search modern and legacy Salesforce documentation by piercing complex Shadow DOM and iframe structures. It supports hierarchical spidering of entire guides and local RAG capabilities using a SQLite database for offline querying.5132MIT
- FlicenseBqualityDmaintenanceProvides AI agents with secure access to Salesforce data and operations, enabling natural language interaction with CRM for sales, marketing, and executive teams.65
- AlicenseNot gradedqualityCmaintenanceEnables Salesforce developers to create code and configuration using local documentation, with optional semantic search.151MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to query a pre-built semantic knowledge graph of code, reducing token usage and tool calls. Supports 16 tools for code exploration, analysis, and context building.137MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Avinava/sf-documentation-knowledge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server