DocsMcp
Reference

MCP Servers

Model Context Protocol (MCP) is an open standard that lets AI agents interact with external tools through a consistent, model-agnostic interface. With MCP, any service you own can become a first-class tool for your CipherSense agents.

What is MCP?

MCP is a protocol specification originally developed by Anthropic and now adopted broadly across the AI ecosystem. It defines a standard JSON-RPC interface between an AI model (the client) and a tool provider (the server). Instead of every LLM provider needing bespoke integrations for every tool, MCP creates a universal contract: any compliant server can be plugged into any compliant client.

An MCP server advertises a catalogue of tools — each with a name, a human-readable description, and a JSON Schema for its inputs. The LLM reads the tool catalogue, decides which tools are relevant to a given task, and invokes them by name with structured arguments. The server executes the tool and returns the result.

AI Agent

Reads the tool catalogue, decides which tools to call, and uses returned data to reason and respond.

MCP Protocol

JSON-RPC over SSE or HTTP. Standardised methods: initialize, tools/list, tools/call.

MCP Server

Any service you run that implements the MCP spec and exposes tools the agent can call.

How It Works in CipherSense Agents

CipherSense acts as the MCP client on behalf of your agents. Here is the full lifecycle from connection to tool execution.

01

You run an MCP Server

Your MCP server exposes a set of tools over HTTP or SSE. Each tool has a name, a description, and a JSON Schema that describes the inputs it accepts. The server implements the standard MCP JSON-RPC interface.

02

CipherSense discovers its tools

When you add the server as an integration, CipherSense calls the “tools/list” method on your server and stores the full list of tools — name, description, and input schema — in the integration record. No manual tool registration required.

03

An Agent uses those tools

When an AI Assistant node is connected to your MCP integration in a workflow, the agent’s LLM sees the tool list as part of its context. The model decides autonomously which tools to call, constructs the correct inputs, and uses the returned data to formulate its response.

04

CipherSense proxies the call

Tool invocations are routed through the CipherSense MCP proxy, which handles authentication headers and forwards the JSON-RPC request to your server. Results are passed back to the agent’s conversation turn.

Exposing Your Own Data with MCP

Any data source, internal API, or proprietary service can be made available to your agents by wrapping it in an MCP server. You maintain full control of what the server exposes and how it authenticates callers.

Internal knowledge base

Expose a search tool over your company wiki, Confluence space, or proprietary documentation so agents can look up answers grounded in your own content.

Databases and data warehouses

Wrap a read-only SQL query tool around your PostgreSQL, BigQuery, or Snowflake database so agents can retrieve live records during workflow execution.

Internal APIs and microservices

Turn any internal REST endpoint into an MCP tool. Agents can trigger order lookups, status checks, CRM queries, or inventory reads without custom integration code.

File and document processing

Expose tools that read, parse, or summarise files from an internal storage system, giving agents access to documents that are not publicly reachable.

What your server must implement

CipherSense communicates with your server using three standard MCP methods. You only need to implement these to be fully compatible.

MethodPurpose
initializeCalled on connection. Your server responds with its protocol version and supported capabilities.
tools/listReturns the full catalogue of tools your server exposes — name, description, and JSON Schema for each.
tools/callInvokes a specific tool by name with the arguments provided by the agent. Returns the tool result.

Minimal server example

The example below shows the shape of a minimal MCP server response to tools/list. Any HTTP server framework (Express, FastAPI, Go\u2019s net/http, etc.) can serve this.

// POST /  —  tools/list request body
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// Your server responds with:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "search_knowledge_base",
        "description": "Search the internal knowledge base for a given query.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "The search query string."
            }
          },
          "required": ["query"]
        }
      }
    ]
  }
}

When the agent calls this tool, CipherSense will POST a tools/call request with the tool name and the arguments the LLM constructed:

// tools/call request body
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "search_knowledge_base",
    "arguments": {
      "query": "quarterly revenue targets 2025"
    }
  }
}

// Your server responds with:
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Q1 2025 revenue target: $4.2M. Q2 target: $5.1M..."
      }
    ]
  }
}

Connecting Your Server via Custom MCP

Once your MCP server is running and reachable, adding it to CipherSense takes under a minute.

Open your project’s Integrations tab

Navigate to your project in the dashboard and click the "Integrations" tab. Click "Add Integration" and search for "Custom MCP Server" in the catalogue.

Enter your server endpoint

Paste the full URL of your MCP server (e.g. https://mcp.your-company.com or http://localhost:3100 for local development). This must be a publicly reachable URL — or reachable from the CipherSense server environment.

Choose the transport

Select "SSE" (Server-Sent Events) or "HTTP" depending on how your server is implemented. SSE is the most common transport for remote MCP servers. HTTP is suitable for simple request/response servers. The stdio transport is not supported for remote connections.

Configure authentication

Choose the auth mode that matches your server. "No Auth" is fine for servers on a private network. "Bearer Token" passes a static token in the Authorization header. "Basic Auth" sends a Base64-encoded username and password.

Save and discover tools

Click "Save & Test". CipherSense will connect to your server, call "tools/list", and store the discovered tools in the integration record. You can see the discovered tools in the integration’s detail panel.

Wire it into a workflow

In the Visual Designer, add your Custom MCP integration as a node and connect it to an AI Assistant node. The agent will automatically have access to all the tools your server exposes during workflow execution.

Authentication Modes

CipherSense injects the configured credentials into every request it proxies to your server. Your server should validate them before executing any tool.

ModeWhen to useHeader sent
No AuthYour server is on a private network or already behind a firewall.
Bearer TokenYour server validates a static token in the Authorization header.Authorization: Bearer <your-token>
Basic AuthYour server requires a username and password pair.Authorization: Basic <base64(username:password)>

Troubleshooting

Connection test fails

Check that your server is publicly reachable and that the endpoint URL is correct (including the scheme). If using Basic Auth or Bearer Token, verify the credentials match what your server expects.

No tools discovered

Ensure your server returns a valid "tools/list" response with a non-empty "tools" array. The response must be valid JSON-RPC 2.0 with a "result" key, not "error".

Tool calls return errors

Open the execution trace to see the raw error from your server. Common causes are missing required fields in the tool arguments, or authentication failing on the tool/call endpoint.

stdio transport not supported

CipherSense only supports SSE and HTTP transports for remote MCP servers. If your server currently runs over stdio, wrap it in an HTTP or SSE transport layer before connecting.

Connect your first MCP server

Add a Custom MCP Server integration from your project dashboard and give your agents access to your own data and tools.