Skip to main content

Створення власного MCP-клієнта

Підключіться до MCP-сервера Synapse з власного застосунку за допомогою MCP SDK.


Створення власного MCP-клієнта

Якщо ви створюєте власний LLM-застосунок, ви можете підключитися до MCP-сервера Synapse безпосередньо, використовуючи офіційний MCP SDK. Це дає вашому застосунку доступ до всіх 79 інструментів Synapse.

SDK

Мова Пакет
TypeScript/JavaScript @modelcontextprotocol/sdk
Python mcp

Приклад на TypeScript

Встановлення

npm install @modelcontextprotocol/sdk

Підключення через stdio

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const transport = new StdioClientTransport({
  command: "npx",
  args: ["-y", "synapse-mcp-api@latest"],
  env: {
    SYNAPSE_MIND_KEY: process.env.SYNAPSE_MIND_KEY!,
    SYNAPSE_URL: "https://synapse.schaefer.zone",
  },
});

const client = new Client(
  { name: "my-app", version: "1.0.0" },
  { capabilities: {} }
);

await client.connect(transport);

// List all available tools
const { tools } = await client.listTools();
console.log(`Available tools: ${tools.length}`);
for (const tool of tools) {
  console.log(`- ${tool.name}: ${tool.description}`);
}

// Call a tool
const result = await client.callTool({
  name: "memory_recall",
  arguments: {},
});
console.log(result.content);

// Store a memory
await client.callTool({
  name: "memory_store",
  arguments: {
    category: "fact",
    key: "custom_client_test",
    content: "Built a custom MCP client",
    tags: ["test", "mcp"],
    priority: "normal",
  },
});

await client.close();

Підключення через HTTP/SSE (віддалене)

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const transport = new SSEClientTransport(
  new URL("https://synapse-mcp.schaefer.zone/sse"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${process.env.SYNAPSE_MIND_KEY}`,
      },
    },
  }
);

const client = new Client(
  { name: "my-app", version: "1.0.0" },
  { capabilities: {} }
);

await client.connect(transport);
// ... use as above

Приклад на Python

Встановлення

pip install mcp

Підключення через stdio

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

server_params = StdioServerParameters(
    command="npx",
    args=["-y", "synapse-mcp-api@latest"],
    env={
        "SYNAPSE_MIND_KEY": "mk_YOUR_KEY",
        "SYNAPSE_URL": "https://synapse.schaefer.zone",
    },
)

async with stdio_client(server_params) as (read, write):
    async with ClientSession(read, write) as session:
        await session.initialize()

        # List tools
        tools = await session.list_tools()
        print(f"Available tools: {len(tools.tools)}")

        # Call a tool
        result = await session.call_tool("memory_recall", {})
        print(result.content)

        # Store a memory
        await session.call_tool("memory_store", {
            "category": "fact",
            "key": "python_client_test",
            "content": "Built a Python MCP client",
            "tags": ["test", "mcp", "python"],
            "priority": "normal",
        })

Профілі інструментів

Під час підключення ви можете запросити конкретний профіль інструментів через заголовок Mcp-Tool-Profile (HTTP/SSE) або змінну середовища MCP_PROFILE (stdio):

// stdio: set env var
env: {
  SYNAPSE_MIND_KEY: "mk_...",
  MCP_PROFILE: "minimal",  // 8 tools instead of 119
}

// HTTP/SSE: set header
requestInit: {
  headers: {
    Authorization: "Bearer mk_...",
    "Mcp-Tool-Profile": "minimal",
  },
}

Обробка помилок

try {
  const result = await client.callTool({ name: "memory_recall", arguments: {} });
  if (result.isError) {
    console.error("Tool error:", result.content);
  } else {
    console.log("Success:", result.content);
  }
} catch (err) {
  console.error("MCP error:", err);
}

Варіанти використання

  • Власні AI-асистенти — створіть свого агента з постійною пам'яттю
  • Автоматизація робочих процесів — об'єднуйте інструменти Synapse у власні робочі процеси
  • Конвеєри даних — видобувайте спогади, трансформуйте, завантажуйте в інше місце
  • Інформаційні панелі моніторингу — відображайте статистику пам'яті, історію чату, завдання

Наступні кроки