Skip to main content
Glama
clarkemn

prisma-cloud-docs-mcp-server

by clarkemn

Prisma Cloud Docs MCP Server

A Model Context Protocol (MCP) server that provides search access to Prisma Cloud documentation. This server allows Claude and other MCP-compatible clients to search through Prisma Cloud's official documentation and API references.

Note: This server has been migrated to HTTP transport and container deployment for improved scalability and performance. The server now runs in HTTP mode when deployed via Smithery.

Features

  • Search across Prisma Cloud documentation

  • Search Prisma Cloud API documentation

  • Caching system for improved performance

  • Real-time indexing of documentation sites

Related MCP server: s2-streamstore

Installation

No installation needed! Just use uvx in your Claude Desktop configuration.

Installing via Smithery

To install prisma-cloud-docs-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @clarkemn/prisma-cloud-docs-mcp-server --client claude

Option 2: Development Installation

Prerequisites

  • Python 3.12 or higher

  • uv package manager

Install uv

curl -LsSf https://astral.sh/uv/install.sh | sh

Clone and Setup

git clone https://github.com/clarkemn/prisma-cloud-docs-mcp-server.git
cd prisma-cloud-docs-mcp-server
uv sync

Usage

With Claude Desktop

Add this server to your Claude Desktop configuration file:

Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "Prisma Cloud Docs": {
      "command": "uvx",
      "args": ["prisma-cloud-docs-mcp-server@latest"],
      "env": {},
      "transport": "stdio"
    }
  }
}

Option 2: Local Development

{
  "mcpServers": {
    "Prisma Cloud Docs": {
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "/path/to/prisma-cloud-docs-mcp-server",
      "env": {},
      "transport": "stdio"
    }
  }
}

Replace /path/to/prisma-cloud-docs-mcp-server with the actual path to where you cloned this repository.

Manual Testing

You can test the server manually:

echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}}' | uv run python server.py

Available Tools

The server provides these MCP tools:

  • index_prisma_docs(max_pages: int = 50) - Index Prisma Cloud documentation (call this first)

  • index_prisma_api_docs(max_pages: int = 50) - Index Prisma Cloud API documentation

  • search_prisma_docs(query: str) - Search Prisma Cloud documentation

  • search_prisma_api_docs(query: str) - Search Prisma Cloud API documentation

  • search_all_docs(query: str) - Search across all indexed documentation

  • get_index_status() - Check indexing status and cache statistics

Development

Running the server

HTTP mode (Production/Smithery):

uv run python -m src.main

STDIO mode (Local development):

uv run python server.py

Container mode:

docker build -t prisma-docs-server .
docker run -p 8081:8081 -e PORT=8081 prisma-docs-server

Installing dependencies

uv sync

Project structure

prisma-cloud-docs-mcp-server/
├── src/
│   ├── main.py           # HTTP MCP server implementation  
│   └── middleware.py     # Configuration middleware for Smithery
├── server.py             # Legacy STDIO server (for local development)
├── pyproject.toml        # Project configuration
├── uv.lock              # Dependency lock file
├── Dockerfile           # Container deployment
├── smithery.yaml        # Smithery container configuration
└── README.md            # This file

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Test with Claude Desktop

  5. Submit a pull request

Troubleshooting

Server not starting in Claude Desktop

  1. Ensure uv is installed and in your PATH

  2. Verify the path to the project directory is correct

  3. Check Claude Desktop logs for specific error messages

Missing dependencies

Run uv sync to ensure all dependencies are installed.

Documentation not found

The server needs to index documentation first. Use the index_prisma_docs or index_prisma_api_docs tools before searching.

Available Tools

6 tools
get_index_statusA

Check how many documents are currently cached.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the tool checks cache status, which implies a read-only, non-destructive operation, but doesn't add details like rate limits, auth needs, or what 'cached' entails. It's adequate but lacks rich behavioral context.

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, efficient sentence that directly states the tool's purpose with zero waste. It's appropriately sized and front-loaded, making it easy to understand quickly.

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?

Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is reasonably complete. It covers the core purpose, but for a tool with no annotations, it could add more context on behavior or output, though the output schema mitigates this.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't add param info, which is fine here, but since there are no params, it doesn't fully compensate for any gaps, so it scores just below the maximum.

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 action ('Check') and resource ('documents currently cached'), providing a specific purpose. However, it doesn't differentiate from sibling tools like 'search_all_docs' or 'index_prisma_docs', which might also relate to document status or indexing operations, so it doesn't reach the highest score.

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 offers no guidance on when to use this tool versus alternatives like 'search_all_docs' or 'index_prisma_docs', nor does it mention prerequisites or exclusions. It implies usage for checking cache status but lacks explicit context or comparisons.

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

index_prisma_api_docsA

Index Prisma Cloud API documentation. Call this first before searching.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/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 mentions indexing but doesn't explain what indexing entails (e.g., data fetching, processing, storage), potential side effects, rate limits, or authentication needs. The directive to call it first hints at initialization behavior but lacks detail on outcomes or errors.

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 extremely concise with two short sentences that are front-loaded and waste no words. Every sentence serves a clear purpose: stating the action and providing usage guidance.

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 an output schema (which reduces the need to describe return values) and only one parameter, the description is somewhat complete for its simplicity. However, as a tool with no annotations and a parameter lacking schema descriptions, it should provide more context on behavior and parameter meaning to be fully helpful.

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 has one parameter ('max_pages') with 0% description coverage in the schema, so the description must compensate. However, the description provides no information about parameters, not even mentioning 'max_pages' or its purpose. Since there's only one parameter, the baseline is higher, but the description adds no value beyond the schema.

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 action ('Index Prisma Cloud API documentation') and provides a specific directive ('Call this first before searching'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from its sibling 'index_prisma_docs', which appears similar, leaving some ambiguity about when to use one versus the other.

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

Usage Guidelines5/5

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

The description explicitly states 'Call this first before searching,' providing clear guidance on when to use this tool in relation to search operations. It implies a prerequisite step for searching, though it doesn't specify alternatives or exclusions beyond this sequencing advice.

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

index_prisma_docsA

Index Prisma Cloud documentation. Call this first before searching.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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. While it mentions that this should be called 'first before searching' (implying it's a setup/preparation step), it doesn't describe what 'indexing' actually does (e.g., whether it crawls/scrapes documentation, builds a search index, stores data locally/remotely), what happens if called multiple times, or any performance/rate limit considerations.

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 extremely concise with just two short sentences that each serve a clear purpose: stating the action and providing usage guidance. There's no wasted language or unnecessary elaboration.

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 that there's an output schema (which presumably describes the return values), the description doesn't need to explain return values. However, for an indexing tool with no annotations and a parameter that lacks explanation, the description should provide more context about what indexing entails and how the parameter affects the operation to be truly complete.

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

Parameters2/5

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

The schema has 1 parameter with 0% description coverage, so the description must compensate. The description provides no information about the 'max_pages' parameter - it doesn't explain what pages are being indexed, what happens when the limit is reached, or typical values. This leaves the parameter's purpose and usage unclear.

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 action ('Index') and resource ('Prisma Cloud documentation'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from its sibling 'index_prisma_api_docs', which appears to serve a similar indexing function for API docs specifically.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Call this first before searching'), which clearly distinguishes it from the search-related sibling tools. This tells the agent the proper sequence of operations in the workflow.

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

search_all_docsC

Search across all Prisma Cloud documentation sites.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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. The description only states what the tool does at a high level ('Search across all Prisma Cloud documentation sites') but doesn't disclose any behavioral traits such as search scope limitations, performance characteristics, authentication requirements, rate limits, or what the output contains. This leaves significant gaps for an agent trying to understand how to use this tool effectively.

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 extremely concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration, making it front-loaded and efficient. Every word earns its place in conveying the core functionality.

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 that there's an output schema (which means the description doesn't need to explain return values), the description provides the minimum viable information about what the tool does. However, for a search tool with no annotations and 0% schema description coverage, the description should do more to explain search behavior, scope, and limitations to be truly complete for agent use.

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

Parameters2/5

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

The input schema has 0% description coverage, with only a single parameter 'query' documented as a string. The description provides no additional information about parameter semantics - it doesn't explain what type of search query is expected, syntax requirements, or any constraints. With low schema coverage, the description fails to compensate for the lack of parameter 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 action ('Search') and the resource ('across all Prisma Cloud documentation sites'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'search_prisma_api_docs' or 'search_prisma_docs', which appear to be more targeted searches.

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 provides no guidance on when to use this tool versus alternatives. With sibling tools like 'search_prisma_api_docs' and 'search_prisma_docs' available, there's no indication of what makes this tool different or when it should be preferred over those more specific options.

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

search_prisma_api_docsC

Search Prisma Cloud API documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states what the tool does at a high level, without mentioning any behavioral traits like authentication requirements, rate limits, response format, pagination, or error handling. This leaves significant gaps in understanding how the tool behaves.

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 extremely concise with just one sentence that directly states the tool's purpose. There's zero waste or unnecessary information, making it front-loaded and efficient for the agent to parse.

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 an output schema (which handles return values) and only one simple parameter, the description's minimal approach is somewhat adequate. However, with no annotations and multiple similar sibling tools, the description should provide more context about scope and differentiation to be truly complete.

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

Parameters2/5

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

The schema has 0% description coverage for its single parameter 'query', and the tool description provides no additional information about what the query parameter should contain, its format, or examples of valid values. The description doesn't compensate for the complete lack of parameter documentation in the schema.

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's purpose as 'Search Prisma Cloud API documentation', which is a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'search_prisma_docs' or 'search_all_docs', leaving some ambiguity about scope and differentiation.

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 provides no guidance on when to use this tool versus alternatives like 'search_prisma_docs' or 'search_all_docs'. There's no mention of prerequisites, context, or exclusions, leaving the agent with no usage direction beyond the basic purpose.

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

search_prisma_docsC

Search Prisma Cloud documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the basic function without mentioning search behavior (e.g., ranking, filters, pagination), performance characteristics, or any constraints. This is inadequate for a search 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?

The description is extremely concise at just three words, with zero wasted text. It's front-loaded with the core purpose, though this brevity comes at the cost of completeness.

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

Completeness2/5

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

Given the presence of an output schema (which handles return values), the description's minimalism is somewhat mitigated. However, for a search tool with 1 parameter, 0% schema coverage, and no annotations, it fails to provide adequate context about behavior, usage, or parameter meaning, making it incomplete for effective tool selection.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter information beyond what's implied by the tool name. It doesn't explain the 'query' parameter's format, syntax, or semantics, leaving the single required parameter undocumented in both schema and description.

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

Purpose3/5

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

The description 'Search Prisma Cloud documentation' clearly states the action (search) and target resource (Prisma Cloud documentation), providing basic purpose. However, it doesn't distinguish this tool from sibling tools like 'search_all_docs' or 'search_prisma_api_docs', leaving ambiguity about scope and differentiation.

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 provides no guidance on when to use this tool versus alternatives like 'search_all_docs' or 'search_prisma_api_docs'. There's no mention of context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.

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. 6 tool updates
    • First observedget_index_status
    • First observedindex_prisma_api_docs
    • First observedindex_prisma_docs
    • First observedsearch_all_docs
    • First observedsearch_prisma_api_docs
    • First observedsearch_prisma_docs

TDQS

B3.4/5.0
Disambiguation3/5

The tools have some overlap that could cause confusion, particularly between the three search tools (search_all_docs, search_prisma_api_docs, search_prisma_docs) and the two index tools (index_prisma_api_docs, index_prisma_docs). However, the descriptions clarify the scope of each, helping to distinguish them. The get_index_status tool is clearly distinct in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case throughout, such as get_index_status, index_prisma_api_docs, and search_all_docs. This predictability makes it easy for agents to understand and use the tools without confusion.

Tool Count5/5

With 6 tools, the server is well-scoped for its purpose of indexing and searching Prisma Cloud documentation. Each tool serves a clear function, and the count is neither too sparse nor overwhelming, fitting typical expectations for a documentation-focused MCP server.

Completeness4/5

The tool set covers the core workflows of indexing and searching documentation, with separate tools for API and general docs, plus a status check. A minor gap is the lack of tools for managing or updating indexed content, but agents can work around this by re-indexing as needed.

Maintenance

ActivityMaintained
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

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/clarkemn/prisma-cloud-docs-mcp-server'

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