Appearance
MCP Capabilities
This page explains the capabilities exposed by the Sufy MCP server, including the supported JSON-RPC methods, available tools, request headers, and common request examples.
Endpoint And Transport
The MCP service is exposed through a single HTTP endpoint:
text
POST /mcpNotes:
- Transport is HTTP JSON-RPC.
GET /mcpis not supported for SSE on this server.DELETE /mcpis not supported.
Supported MCP Methods
The server currently handles these MCP methods:
initializepingtools/listtools/callnotifications/initialized
Current capability scope:
- Tools: supported
- Resources: not implemented
- Prompts: not implemented
Request Headers
Each request must use Content-Type: application/json.
The server also understands these MCP-specific headers:
mcp-method: optional, but if provided it must match the JSON-RPCmethodmcp-protocol-version: required for non-initializerequestsmcp-name: optional fortools/call, but if provided it must matchparams.name
Compatibility note:
- some MCP clients, including Cursor, may omit
mcp-methodandmcp-name - the server accepts requests without these headers and relies on the JSON-RPC body
Supported protocol versions:
2025-06-182025-03-26
Available Tools
The server currently exposes four tools.
search_sufy
Search across indexed Sufy documentation pages.
Arguments:
json
{
"query": "bucket lifecycle",
"limit": 5
}Behavior:
queryis requiredlimitis optionallimitis clamped to the range1to50
Use it when:
- you know the topic but not the exact page path
- you want ranked matches with snippets
list_docs_sufy
List all indexed documentation pages.
Arguments:
json
{}Behavior:
- returns page title, description, route, and URL
- does not filter by keyword
Use it when:
- you want to inspect the full indexed page set
- you want to discover valid routes before calling
get_doc_content_sufy
get_doc_content_sufy
Read a full documentation page by route.
Arguments:
json
{
"path": "/storage-service/overview"
}Behavior:
pathis required- the path must match a documentation route, not a markdown file path
Use it when:
- you already know the exact route
- you need the complete page content
query_docs_filesystem_sufy
Run a read-only query against the virtual documentation filesystem.
Arguments:
json
{
"command": "tree / -L 2"
}Behavior:
commandis required- the command runs against a virtual docs filesystem rooted at
/ - this is read-only and supports a small command subset only
Use it when:
- you want to inspect docs by file path
- you want shell-like browsing without exposing a real filesystem
- you want to grep markdown content directly
Virtual Docs Filesystem Commands
query_docs_filesystem_sufy supports these commands:
ls [path]tree [path] [-L depth]cat <file...>head [-n N | -N] <file...>rg [-C N] <pattern> [path]
Examples:
json
{ "command": "ls /" }json
{ "command": "tree /storage-service -L 2" }json
{ "command": "cat /storage-service/overview.md" }json
{ "command": "head -n 20 /index.md" }json
{ "command": "rg -C 2 \"upload token\" /storage-service" }Path rules:
- root is
/ - markdown files use virtual paths such as
/index.md - nested docs use virtual paths such as
/storage-service/overview.md
Important note:
rguses JavaScript regular expression matching internally, so its behavior is similar to ripgrep for basic searches but not fully identical
Request Flow
Typical client flow:
- Call
initialize - Send
notifications/initialized - Call
tools/list - Call
tools/callwith one of the supported tool names
Request Examples
Initialize
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: initialize' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18"
}
}'Send Initialized Notification
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: notifications/initialized' \
-H 'mcp-protocol-version: 2025-06-18' \
-d '{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}'List Tools
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: tools/list' \
-H 'mcp-protocol-version: 2025-06-18' \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}'Call search_sufy
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: tools/call' \
-H 'mcp-name: search_sufy' \
-H 'mcp-protocol-version: 2025-06-18' \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_sufy",
"arguments": {
"query": "bucket lifecycle",
"limit": 5
}
}
}'Call list_docs_sufy
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: tools/call' \
-H 'mcp-name: list_docs_sufy' \
-H 'mcp-protocol-version: 2025-06-18' \
-d '{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "list_docs_sufy",
"arguments": {}
}
}'Call get_doc_content_sufy
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: tools/call' \
-H 'mcp-name: get_doc_content_sufy' \
-H 'mcp-protocol-version: 2025-06-18' \
-d '{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "get_doc_content_sufy",
"arguments": {
"path": "/storage-service/overview"
}
}
}'Call query_docs_filesystem_sufy
bash
curl -X POST https://developer.sufy.com/mcp \
-H 'Content-Type: application/json' \
-H 'mcp-method: tools/call' \
-H 'mcp-name: query_docs_filesystem_sufy' \
-H 'mcp-protocol-version: 2025-06-18' \
-d '{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "query_docs_filesystem_sufy",
"arguments": {
"command": "tree / -L 2"
}
}
}'Error Cases To Expect
Common request errors:
mcp-methodheader does not match the JSON-RPCmethodmcp-namedoes not matchparams.name- unsupported
mcp-protocol-version - missing required tool arguments such as
query,path, orcommand - unknown MCP method
- unknown tool name
Capability Summary
In short, this MCP server currently provides:
- tool discovery through
tools/list - documentation search through
search_sufy - document index listing through
list_docs_sufy - full page retrieval through
get_doc_content_sufy - virtual filesystem inspection through
query_docs_filesystem_sufy
It does not currently provide writable operations, MCP resources, or MCP prompts.