Ö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/sdkstdio ü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 abovePython Örneği
Yükle
pip install mcpstdio ü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