Skip to main content

Özel MCP İstemcisi Oluşturma

MCP SDK'sını kullanarak kendi uygulamanızdan Synapse MCP sunucusuna bağlanın.


Özel MCP İstemcisi Oluşturma

Kendi LLM uygulamanızı oluşturuyorsanız, resmi MCP SDK'sını kullanarak Synapse MCP sunucusuna doğrudan bağlanabilirsiniz. Bu, uygulamanıza tüm 79 Synapse aracına erişim sağlar.

SDK'lar

Dil Paket
TypeScript/JavaScript @modelcontextprotocol/sdk
Python mcp

TypeScript Örneği

Yükle

npm install @modelcontextprotocol/sdk

stdio üzerinden bağlan

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 üzerinden bağlan (uzak)

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 Örneği

Yükle

pip install mcp

stdio üzerinden bağlan

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",
        })

Araç Profilleri

Bağlanırken, Mcp-Tool-Profile başlığı (HTTP/SSE) veya MCP_PROFILE env değişkeni (stdio) ile belirli bir araç profili isteyebilirsiniz:

// 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",
  },
}

Hata Yönetimi

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);
}

Kullanım Senaryoları

  • Özel AI asistanları — kalıcı belleğe sahip kendi ajanınızı oluşturun
  • İş akışı otomasyonu — özel iş akışlarında Synapse araçlarını zincirleyin
  • Veri iş hatları — bellekleri çıkarın, dönüştürün, başka yere yükleyin
  • İzleme panoları — bellek istatistiklerini, sohbet geçmişini, görevleri görüntüleyin

Sonraki Adımlar