تخطَّ إلى المحتوى
CADCAMFUN
الوثائق

الوثائق

تكوين MCP

تكوين اتصال MCP CRUD وطلبات معلومات الخادم.

مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية

ساحة التجربة

أرسل هذه الطلبات إلى السايدكار الخاصة بك. تبقى القيم في هذا المتصفح.

غير متصل
كيف يعمل هذا

يستمع السايدكار إلى منفذ الاسترجاع الذي تم اختياره عند بدء التشغيل ويطبعه في منفذ الاسترجاع الخاص به ready خط؛ استخدم عنوان URL هذا و CADCAMFUN_TOKEN لقد بدأ مع. تذهب الطلبات مباشرة من هذه الصفحة إلى هذا العنوان.

يرسل السايدكار رؤوس CORS فقط إلى أصول Tauri وإلى http://localhost أو http://127.0.0.1 على أي منفذ. من المستندات المستضافة، يحظر المتصفح الاستجابة، لذا قم بتشغيل المستندات محليًا (bun run dev في packages/web) لاستخدام الملعب، أو نسخ الطلب كحليقة. للتجربة دون لمس البيانات الحقيقية، ابدأ تشغيل السايدكار باستخدام CADCAMFUN_DATA_DIR أشار إلى دليل مهمل - انظر إرشادات واجهة برمجة التطبيقات.

العمليات

8 نقاط نهاية في mcp المجموعة التي تم إنشاؤها من السايدكار مستند OpenAPI. تأخذ العمليات المحمية Authorization: Bearer $CADCAMFUN_TOKEN; يرى المصادقة. السلوك والحدود موجودة دليل النظام الفرعي.

يحصل /api/mcp/config mcp.listConfig
بريد /api/mcp/config mcp.createConfig
يضع /api/mcp/config mcp.updateConfig
يمسح /api/mcp/config mcp.removeConfig
يحصل /api/mcp/config/{id} mcp.getConfig
يضع /api/mcp/config/{id} mcp.updateConfigById
يمسح /api/mcp/config/{id} mcp.removeConfigById
بريد /api/mcp/server-info mcp.serverInfo
عمليات تكوين MCP في 3D اسحب إلى المدار · قم بالتمرير للتكبير · اسحب بزر الماوس الأيمن للتحريك
كتلة واحدة لكل عملية (8)، مكدسة لكل قسم موارد في هذه الصفحة وملونة حسب الطريقة: GET الأخضر، POST البرتقالي، PUT الأزرق، PATCH البنفسجي، DELETE الأحمر. تم إنشاؤها من مستند OpenAPI في وقت الإنشاء.

/api/mcp/config

يحصل /api/mcp/config # mcp.listConfig

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
مصدر استفسار خيط | null خياري
الردود
200 كائن | هدف application/json
{
  success: true
  source: "claude" | "database"
  servers: Array<{
    id: string
    name: string
    type: string
    url: string | null
    command: string | null
    args: unknown
    workingDirectory: string | null
    enabled: boolean
    userId: string | null
    createdAt: string
    updatedAt: string
  }>
  count: number | "Infinity" | "-Infinity" | "NaN"
} | {
  success: true
  source: "file"
  config: {
    mcpServers: Array<{
      id: string
      name: string
      type: string
      url: string | null
      command: string | null
      args: unknown
      workingDirectory: string | null
      enabled: boolean
    }>
  }
  exportedAt: string
}
400 McpEnvBadRequestEncoded application/json
McpEnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 McpEnvInternalEncoded application/json
McpEnvInternalEncoded
رد المثال تم الالتقاط · 200
احصل على /api/mcp/config
{
  "success": true,
  "source": "claude",
  "servers": [],
  "count": 0
}
مثال SDK
mcp.listConfig
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// McpListConfigInput
const result = await client.mcp.listConfig({})
curl
احصل على /api/mcp/config
curl --request GET "${CADCAMFUN_URL}/api/mcp/config" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
جربه
بريد /api/mcp/config # mcp.createConfig

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
مصدر استفسار خيط | null خياري
نص الطلب · مطلوب · application/json
{
  id?: string | null
  name?: string | null
  type?: string | null
  url?: string | null
  command?: string | null
  args?: unknown | null
  workingDirectory?: string | null
  defaultWorkingDirectory?: string | null
  enabled?: boolean | null
  serverName?: string | null
  testConnection?: boolean | null
  mcpServers?: unknown | null
  tool_configuration?: unknown | null
  authorization_token?: string | null
}
الردود
200 هدف application/json
{
  success: true
  source: "file"
  imported: number | "Infinity" | "-Infinity" | "NaN"
  message: string
}
201 هدف application/json
{
  success: true
  source: "claude" | "database"
  server: {
    id: string
    name: string
    type: string
    url: string | null
    command: string | null
    args: unknown
    workingDirectory: string | null
    enabled: boolean
    userId: string | null
    createdAt: string
    updatedAt: string
  }
  connectionTest?: unknown | null
  message: string
}
400 McpEnvBadRequestEncoded application/json
McpEnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
500 McpEnvInternalEncoded application/json
McpEnvInternalEncoded
جلب المثال
mcp.createConfig
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/mcp/config`, {
  method: "POST",
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
curl
بوست /api/mcp/config
curl --request POST "${CADCAMFUN_URL}/api/mcp/config" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
جربه
يضع /api/mcp/config # mcp.updateConfig

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
مصدر استفسار خيط | null خياري
نص الطلب · مطلوب · application/json
{
  id?: string | null
  name?: string | null
  type?: string | null
  url?: string | null
  command?: string | null
  args?: unknown | null
  workingDirectory?: string | null
  defaultWorkingDirectory?: string | null
  enabled?: boolean | null
  serverName?: string | null
  testConnection?: boolean | null
  mcpServers?: unknown | null
  tool_configuration?: unknown | null
  authorization_token?: string | null
}
الردود
200 هدف application/json
{
  success: true
  source: "claude"
  server: {
    id: string
    name: string
    type: string
    url: string | null
    command: string | null
    args: unknown
    workingDirectory: string | null
    enabled: boolean
    userId: string | null
    createdAt: string
    updatedAt: string
  }
  message: string
}
400 McpEnvBadRequestEncoded application/json
McpEnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 McpEnvNotFoundEncoded application/json
McpEnvNotFoundEncoded
405 McpEnvMethodNotAllowedEncoded application/json
McpEnvMethodNotAllowedEncoded
500 McpEnvInternalEncoded application/json
McpEnvInternalEncoded
مثال SDK
mcp.updateConfig
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// McpUpdateConfigInput
const result = await client.mcp.updateConfig({
  id: "",
  name: "",
  type: "",
  url: "",
  command: "",
  args: null,
  workingDirectory: "",
  defaultWorkingDirectory: "",
  enabled: false,
  serverName: "",
  testConnection: false,
  mcpServers: null,
  tool_configuration: null,
  authorization_token: ""
})
curl
ضع /api/mcp/config
curl --request PUT "${CADCAMFUN_URL}/api/mcp/config" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
جربه
يمسح /api/mcp/config # mcp.removeConfig

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
مصدر استفسار خيط | null خياري
اسم استفسار خيط | null خياري
الردود
200 هدف application/json
{
  success: true
  source: "claude"
  message: string
  note: string
}
400 McpEnvBadRequestEncoded application/json
McpEnvBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 McpEnvNotFoundEncoded application/json
McpEnvNotFoundEncoded
405 McpEnvMethodNotAllowedEncoded application/json
McpEnvMethodNotAllowedEncoded
500 McpEnvInternalEncoded application/json
McpEnvInternalEncoded
مثال SDK
mcp.removeConfig
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// McpRemoveConfigInput
const result = await client.mcp.removeConfig({})
curl
احذف /api/mcp/config
curl --request DELETE "${CADCAMFUN_URL}/api/mcp/config" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
جربه
يحصل /api/mcp/config/{id} # mcp.getConfig

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
بطاقة تعريف طريق خيط مطلوب
الردود
200 هدف application/json
{
  id: string
  name: string
  type: string
  url: string | null
  command: string | null
  args: unknown
  workingDirectory: string | null
  enabled: boolean
  userId: string | null
  createdAt: string
  updatedAt: string
}
400 McpBadRequestEncoded application/json
McpBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 McpNotFoundEncoded application/json
McpNotFoundEncoded
500 McpInternalEncoded application/json
McpInternalEncoded
مثال SDK
mcp.getConfig
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// McpGetConfigInput
const result = await client.mcp.getConfig({
  id: "<id>"
})
curl
احصل على /api/mcp/config/{id}
curl --request GET "${CADCAMFUN_URL}/api/mcp/config/<id>" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
جربه
يضع /api/mcp/config/{id} # mcp.updateConfigById

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
بطاقة تعريف طريق خيط مطلوب
نص الطلب · مطلوب · application/json
{
  id?: string | null
  name?: string | null
  type?: string | null
  url?: string | null
  command?: string | null
  args?: unknown | null
  workingDirectory?: string | null
  defaultWorkingDirectory?: string | null
  enabled?: boolean | null
  serverName?: string | null
  testConnection?: boolean | null
  mcpServers?: unknown | null
  tool_configuration?: unknown | null
  authorization_token?: string | null
}
الردود
200 هدف application/json
{
  id: string
  name: string
  type: string
  url: string | null
  command: string | null
  args: unknown
  workingDirectory: string | null
  enabled: boolean
  userId: string | null
  createdAt: string
  updatedAt: string
}
400 McpBadRequestEncoded application/json
McpBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 McpNotFoundEncoded application/json
McpNotFoundEncoded
405 McpMethodNotAllowedEncoded application/json
McpMethodNotAllowedEncoded
500 McpInternalEncoded application/json
McpInternalEncoded
جلب المثال
mcp.updateConfigById
// Not generated in the Promise SDK (multipart, binary or raw body): call it with fetch.
const response = await fetch(`${process.env.CADCAMFUN_URL}/api/mcp/config/${id}`, {
  method: "PUT",
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})
curl
ضع /api/mcp/config/{id}
curl --request PUT "${CADCAMFUN_URL}/api/mcp/config/<id>" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
جربه
يمسح /api/mcp/config/{id} # mcp.removeConfigById

يتطلب Authorization: Bearer <token>.

حدود
اسمفييكتبمطلوب
بطاقة تعريف طريق خيط مطلوب
الردود
204 <لا يوجد محتوى>
400 McpBadRequestEncoded application/json
McpBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 McpNotFoundEncoded application/json
McpNotFoundEncoded
405 McpMethodNotAllowedEncoded application/json
McpMethodNotAllowedEncoded
500 McpInternalEncoded application/json
McpInternalEncoded
مثال SDK
mcp.removeConfigById
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// McpRemoveConfigByIdInput
const result = await client.mcp.removeConfigById({
  id: "<id>"
})
curl
حذف /api/mcp/config/{id}
curl --request DELETE "${CADCAMFUN_URL}/api/mcp/config/<id>" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}"
جربه

/api/mcp/server-info

بريد /api/mcp/server-info # mcp.serverInfo

يتطلب Authorization: Bearer <token>.

نص الطلب · مطلوب · application/json
{
  serverId?: string | null
}
الردود
200 هدف application/json
{
  name: string
  version?: string | null
  instructions?: string | null
  resources?: Array<{
    name: string
    uriTemplate?: string | null
    description?: string | null
    arguments?: Array<{
      name: string
      description?: string | null
      required?: boolean | null
    }> | null
  }> | null
  tools?: Array<{
    name: string
    description?: string | null
    parameters?: unknown | null
  }> | null
}
400 McpBadRequestEncoded application/json
McpBadRequestEncoded
401 UnauthorizedEncoded application/json
UnauthorizedEncoded
404 McpNotFoundEncoded application/json
McpNotFoundEncoded
405 McpMethodNotAllowedEncoded application/json
McpMethodNotAllowedEncoded
500 McpInternalEncoded application/json
McpInternalEncoded
مثال SDK
mcp.serverInfo
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

// McpServerInfoInput
const result = await client.mcp.serverInfo({
  serverId: ""
})
curl
POST /api/mcp/server-info
curl --request POST "${CADCAMFUN_URL}/api/mcp/server-info" \
  --header "Authorization: Bearer ${CADCAMFUN_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-binary @request.json
جربه

المخططات

يمكن الوصول إلى المخططات المسماة من معلمات هذه المجموعة وأجسامها واستجاباتها. أ ? يمثل حقلاً اختياريًا؛ | null يضع علامة على الحقل الذي قد يكون موجودًا بقيمة فارغة.

McpBadRequestEncoded
{
  _tag: "McpBadRequest"
  error: string
}
McpEnvBadRequestEncoded
{
  _tag: "McpEnvBadRequest"
  success: false
  error: string
}
McpEnvInternalEncoded
{
  _tag: "McpEnvInternal"
  success: false
  error: string
}
McpEnvMethodNotAllowedEncoded
{
  _tag: "McpEnvMethodNotAllowed"
  success: false
  error: string
}
McpEnvNotFoundEncoded
{
  _tag: "McpEnvNotFound"
  success: false
  error: string
}
McpInternalEncoded
{
  _tag: "McpInternal"
  error: string
}
McpMethodNotAllowedEncoded
{
  _tag: "McpMethodNotAllowed"
  error: string
}
McpNotFoundEncoded
{
  _tag: "McpNotFound"
  error: string
}
UnauthorizedEncoded
{
  _tag: "Unauthorized"
  message: string
}

استدعاء هذه المجموعة

معرفات العملية لها النموذج mcp.<name>. وعد SDK الذي تم إنشاؤه (@cadcamfun/api/sdk) يعرض معظمهم client.<namespace>.<method>(input)، أين input هو كائن مسطح واحد من معلمات المسار وحقول النص؛ يُظهر مثال SDK لكل بطاقة الملحق الدقيق ونوع الإدخال. لا يتم إنشاء التحميلات متعددة الأجزاء والاستجابات الثنائية أو استجابات JavaScript وخطافات الويب الأولية؛ تظهر تلك البطاقات fetch بدلاً من ذلك.

أخطاء من Promise SDK
import { CadCam, ClientError } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

try {
  await client.projects.list()
} catch (error) {
  if (error instanceof ClientError) {
    // Transport | UnexpectedStatus | UnsupportedContentType | MalformedResponse | SseEventTooLarge
  } else {
    // a declared error body: switch on error._tag
  }
}

استكشاف الأخطاء وإصلاحها

أعراضالسبب المحتمليصلح
401 في كل طلبرمز مميز من إطلاق سابق، أو مفقود Bearer بادئةيرسل Authorization: Bearer <token> بالرمز المميز الذي بدأت به السايدكار.
400 قبل أن يحدث أي شيءالنص أو المعلمة لا يتطابقان مع المخططقارن الحمولة بمخطط الطلب الموجود على البطاقة.
403 أو 404 لسجل يمكنك رؤيته في مكان آخرحساب التمثيل يختلفأرسل الحق x-session-tokenأو استخدم ملف التعريف المحلي الذي يملك السجل.
409حالة متعارضة، مثل اسم مكرر أو رأس فرع قديمأعد قراءة المورد وأعد المحاولة باستخدام البيانات الحالية.
جربه يقول "تم حظره بواسطة CORS"يتم تقديم المستندات من أصل غير استرجاعيقم بتشغيل المستندات محليًا أو انسخ الطلب كـ curly.
رفض اتصالتم إعادة تشغيل السايدكار في منفذ جديدقراءة المنفذ من الجديد ready سطر.