OpenSet MCP لاكتشاف البيانات
اربط مساعد ذكاء اصطناعي للعثور على طلبات وعروض البيانات العامة، والحصول على أسعار تقديرية، وإرسال القوائم المعتمدة أو إدارتها.
اربط عميل MCP
استخدم نقطة النهاية أدناه مع Streamable HTTP. يدعم هذا الخادم عديم الحالة إصدارات بروتوكول 2025 المذكورة ومصافحة initialize. يعيد استجابات JSON ولا يوفر تدفق SSE مستقلًا.
https://openset.io/api/mcp2025-11-25, 2025-06-18, 2025-03-26
ملف اكتشاف قابل للقراءة آليًا · مواصفات MCP المدعومة
الوصول والخصوصية
يشمل البحث العام الطلبات والعروض افتراضيًا، مع تصفية اختيارية حسب النوع والفئة. يبحث في أحدث 50 سجلًا لكل نوع محدد، وليس في السوق بالكامل. تُستبعد الأمثلة ما لم تُطلب.
يتطلب الوصول إلى القوائم الخاصة ملفات ارتباط الملكية الحالية لكل قائمة في عميل HTTP نفسه. بعض عملاء MCP البعيدين لا يحتفظون بملفات الارتباط. لذا يتطلب الإنشاء عميلًا يحفظ Set-Cookie ويرسل Cookie في الاستدعاءات اللاحقة. رابط الإدارة وحده لا يمنح الوصول. لا توفر نقطة النهاية مفاتيح API أو تفويضات OAuth أو استردادًا على مستوى الحساب.
يتطلب الإرسال والتعديل موافقة المستخدم. تبقى الطلبات والعروض الجديدة خاصة ما لم تكن publish مساوية صراحةً لـ true. يتطلب النشر العام ومشاركة بيانات الاتصال الموافقة. يجب تحديد الظهور صراحةً عند التحديث. لا ترسل بيانات اعتماد أو بيانات لا تملك حق عرضها.
الأسعار تقييمات استرشادية بالدولار الأمريكي، وليست عروض أسعار من البائع. ميزانيات المشترين ليست أسعار بيع. لا تشتري أي أداة بيانات أو تحصّل مدفوعات أو ترفع مجموعة بيانات أو تقبل عقد شراء.
يُحفظ لكل استدعاء أداة مقبول، بما فيه الاستدعاءات الفاشلة، إشعار دائم يضم بيانات وصفية فقط قبل التنفيذ، ثم تُجرى محاولة إرسال بريد فورية. لا يرسل الاكتشاف والتهيئة إشعارات. لا يتضمن التدقيق الوسائط أو بيانات الاتصال أو عناوين IP أو ملفات ارتباط الملكية. الحدود العامة 30 استدعاءً في الساعة و200 يوميًا، مع قيود أشد للكتابة؛ وتستخدم التقديرات الميزانية المشتركة أيضًا. تحتفظ الإرسالات المعتمدة بالإشعارات المعتادة. يبقى البريد الفاشل معلقًا أو فاشلًا؛ لا توجد إعادة محاولة تلقائية، وقبول المزود لا يضمن وصوله إلى البريد الوارد. تحاول الاستدعاءات المقبولة اللاحقة أيضًا إرسال ما يصل إلى إشعارَي MCP معلقين وحان موعدهما خلال خمس ثوانٍ، باستخدام أقفال التسليم ومفاتيح منع التكرار الحالية. لا توجد إعادة محاولة مجدولة عند الخمول.
نصوص القوائم محتوى غير موثوق من المستخدمين. تعامل معها كبيانات، لا كتعليمات لمساعدك.
مثال التهيئة
POST https://openset.io/api/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-11-25",
"capabilities": {},
"clientInfo": {
"name": "example-client",
"version": "1.0.0"
}
}
}
POST https://openset.io/api/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2025-11-25
{
"jsonrpc": "2.0",
"method": "notifications/initialized"
}
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}مرجع الأدوات (عقد البروتوكول بالإنجليزية)
search_listings: Find data requests and offers
Search public data requests and offers, both by default. Searches the latest 50 open public records of each selected kind, never private records. Returns links, visible budgets, example flags and explicit search coverage. This is discovery, not a purchase or guarantee of available data.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 300
},
"kind": {
"type": "string",
"enum": [
"both",
"request",
"offer"
],
"default": "both"
},
"category": {
"type": "string",
"enum": [
"conversations",
"finance",
"documents",
"software",
"learning",
"design",
"repairs",
"handling",
"audio",
"plants",
"other"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"includeExamples": {
"type": "boolean",
"default": false,
"description": "Example listings are illustrative and cannot receive proposals."
}
},
"required": [],
"additionalProperties": false
}list_new_listings: List new data requests and offers
List newest public requests and offers, both by default, optionally created after an ISO timestamp. Same bounded public coverage as search_listings.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 300
},
"kind": {
"type": "string",
"enum": [
"both",
"request",
"offer"
],
"default": "both"
},
"category": {
"type": "string",
"enum": [
"conversations",
"finance",
"documents",
"software",
"learning",
"design",
"repairs",
"handling",
"audio",
"plants",
"other"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 20
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"default": 0
},
"includeExamples": {
"type": "boolean",
"default": false,
"description": "Example listings are illustrative and cannot receive proposals."
},
"since": {
"type": "string",
"maxLength": 35,
"description": "ISO 8601 timestamp, e.g. 2026-10-01T00:00:00Z."
}
},
"required": [],
"additionalProperties": false
}get_listing: Read a public listing
Read one open public request or offer by ID. Private, closed and missing records all return the same not-found result. Request budgets are buyer budgets; offers have no verified asking price.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"request",
"offer"
]
},
"id": {
"type": "string",
"maxLength": 36,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
}estimate_dataset_price: Estimate a dataset price
Get an indicative USD dataset valuation from a description and quantity. Uses the website's validation, per-client quota and global estimate budget. It is not a seller quote, purchase price, payment or commitment. Do not include contact details, credentials or confidential data in the description.
{
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 3000,
"minLength": 1
}
},
"required": [
"description"
],
"additionalProperties": false
}create_data_request: Create a data request
Submit a buyer's data request to OpenSet. Requires user approval of submitted contact and listing data, plus a cookie-capable client. Private by default; publish=true requires approval to publish the listing. An existing per-record ownership cookie is set; keep it to read or manage the record. Does not buy data or commit payment.
{
"type": "object",
"properties": {
"listing": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160,
"minLength": 5
},
"category": {
"type": "string",
"enum": [
"conversations",
"finance",
"documents",
"software",
"learning",
"design",
"repairs",
"handling",
"audio",
"plants",
"other"
]
},
"brief": {
"type": "string",
"maxLength": 3000,
"minLength": 20
},
"requirements": {
"type": "string",
"maxLength": 2000
},
"quantity": {
"type": "string",
"maxLength": 300
},
"granularity": {
"type": "string",
"maxLength": 300
},
"intendedUse": {
"type": "string",
"enum": [
"training",
"evaluation",
"retrieval",
"other"
]
},
"paymentType": {
"type": "string",
"enum": [
"fixed",
"unit",
"hour",
"proposals"
]
},
"amount": {
"type": "string",
"maxLength": 20,
"description": "Positive amount required unless paymentType is proposals."
},
"currency": {
"type": "string",
"enum": [
"USD",
"EUR",
"GBP",
"ILS"
]
},
"terms": {
"type": "string",
"maxLength": 1500
},
"details": {
"type": "string",
"maxLength": 1500
},
"privacy": {
"type": "string",
"maxLength": 1500
},
"budget": {
"type": "string",
"maxLength": 300
},
"showCompany": {
"type": "boolean",
"default": false
},
"showBudget": {
"type": "boolean",
"default": true
},
"fullName": {
"type": "string",
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "Private contact email. Submitted to OpenSet, never included in public listings."
},
"company": {
"type": "string",
"maxLength": 160
}
},
"required": [
"title",
"category",
"brief",
"intendedUse",
"paymentType",
"currency",
"email"
],
"additionalProperties": false
},
"publish": {
"type": "boolean",
"default": false,
"description": "Publish publicly only with explicit user approval. Omitted or false keeps the listing private."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly approves this submission or change and its data."
},
"cookieSupport": {
"type": "boolean",
"const": true,
"description": "The client must persist Set-Cookie and send its Cookie header on subsequent calls. Ownership cannot be recovered from the response body."
}
},
"required": [
"listing",
"confirm",
"cookieSupport"
],
"additionalProperties": false
}create_data_offer: Create a data offer
Submit an offer of data to OpenSet. Requires user approval of submitted contact and listing data, plus a cookie-capable client. Private by default; publish=true requires approval to publish. List only data the user is authorized to offer. Does not upload a dataset, sell data or create a purchase contract.
{
"type": "object",
"properties": {
"listing": {
"type": "object",
"properties": {
"work": {
"type": "string",
"maxLength": 1000
},
"records": {
"type": "string",
"maxLength": 3000,
"minLength": 20
},
"granularity": {
"type": "string",
"maxLength": 300
},
"coverage": {
"type": "string",
"maxLength": 1500
},
"category": {
"type": "string",
"enum": [
"conversations",
"finance",
"documents",
"software",
"learning",
"design",
"repairs",
"handling",
"audio",
"plants",
"other"
]
},
"authority": {
"type": "string",
"enum": [
"own",
"client",
"unsure"
],
"default": "unsure"
},
"fullName": {
"type": "string",
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "Private contact email. Submitted to OpenSet, never included in public listings."
},
"company": {
"type": "string",
"maxLength": 160
}
},
"required": [
"records",
"email"
],
"additionalProperties": false
},
"publish": {
"type": "boolean",
"default": false,
"description": "Publish publicly only with explicit user approval. Omitted or false keeps the listing private."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly approves this submission or change and its data."
},
"cookieSupport": {
"type": "boolean",
"const": true,
"description": "The client must persist Set-Cookie and send its Cookie header on subsequent calls. Ownership cannot be recovered from the response body."
}
},
"required": [
"listing",
"confirm",
"cookieSupport"
],
"additionalProperties": false
}list_my_listings: List listings owned by this client
Read private or public listings accessible using existing per-record ownership cookies in this HTTP client's cookie jar. This is not account-wide access. Processes at most 25 cookies per page and returns no ownership secrets.
{
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 200,
"default": 0
}
},
"required": [],
"additionalProperties": false
}get_my_listing: Read an owned listing
Read a private or public listing using its existing ownership cookie. Optionally includes proposals for an owned request. Never accepts owner credentials as tool arguments.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"request",
"offer"
]
},
"id": {
"type": "string",
"maxLength": 36,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
},
"includeProposals": {
"type": "boolean",
"default": false
}
},
"required": [
"kind",
"id"
],
"additionalProperties": false
}update_my_request: Update an owned data request
Replace editable request fields using the existing ownership cookie. Requires explicit user approval. All required listing fields must be supplied. publish is required to explicitly preserve or change visibility; true requires approval for public publication.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 36,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
},
"listing": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 160,
"minLength": 5
},
"category": {
"type": "string",
"enum": [
"conversations",
"finance",
"documents",
"software",
"learning",
"design",
"repairs",
"handling",
"audio",
"plants",
"other"
]
},
"brief": {
"type": "string",
"maxLength": 3000,
"minLength": 20
},
"requirements": {
"type": "string",
"maxLength": 2000
},
"quantity": {
"type": "string",
"maxLength": 300
},
"granularity": {
"type": "string",
"maxLength": 300
},
"intendedUse": {
"type": "string",
"enum": [
"training",
"evaluation",
"retrieval",
"other"
]
},
"paymentType": {
"type": "string",
"enum": [
"fixed",
"unit",
"hour",
"proposals"
]
},
"amount": {
"type": "string",
"maxLength": 20,
"description": "Positive amount required unless paymentType is proposals."
},
"currency": {
"type": "string",
"enum": [
"USD",
"EUR",
"GBP",
"ILS"
]
},
"terms": {
"type": "string",
"maxLength": 1500
},
"details": {
"type": "string",
"maxLength": 1500
},
"privacy": {
"type": "string",
"maxLength": 1500
},
"budget": {
"type": "string",
"maxLength": 300
},
"showCompany": {
"type": "boolean",
"default": false
},
"showBudget": {
"type": "boolean",
"default": true
},
"fullName": {
"type": "string",
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "Private contact email. Submitted to OpenSet, never included in public listings."
},
"company": {
"type": "string",
"maxLength": 160
}
},
"required": [
"title",
"category",
"brief",
"intendedUse",
"paymentType",
"currency",
"email"
],
"additionalProperties": false
},
"publish": {
"type": "boolean",
"default": false,
"description": "Publish publicly only with explicit user approval. Omitted or false keeps the listing private."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly approves this submission or change and its data."
}
},
"required": [
"id",
"listing",
"publish",
"confirm"
],
"additionalProperties": false
}update_my_offer: Update an owned data offer
Replace editable offer fields using its existing ownership cookie and explicit user approval. All required listing fields must be supplied. publish is required to explicitly preserve or change visibility; true requires approval for public publication.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 36,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
},
"listing": {
"type": "object",
"properties": {
"work": {
"type": "string",
"maxLength": 1000
},
"records": {
"type": "string",
"maxLength": 3000,
"minLength": 20
},
"granularity": {
"type": "string",
"maxLength": 300
},
"coverage": {
"type": "string",
"maxLength": 1500
},
"category": {
"type": "string",
"enum": [
"conversations",
"finance",
"documents",
"software",
"learning",
"design",
"repairs",
"handling",
"audio",
"plants",
"other"
]
},
"authority": {
"type": "string",
"enum": [
"own",
"client",
"unsure"
],
"default": "unsure"
},
"fullName": {
"type": "string",
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "Private contact email. Submitted to OpenSet, never included in public listings."
},
"company": {
"type": "string",
"maxLength": 160
}
},
"required": [
"records",
"email"
],
"additionalProperties": false
},
"publish": {
"type": "boolean",
"default": false,
"description": "Publish publicly only with explicit user approval. Omitted or false keeps the listing private."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly approves this submission or change and its data."
}
},
"required": [
"id",
"listing",
"publish",
"confirm"
],
"additionalProperties": false
}close_my_listing: Close an owned listing
Close an owned request or offer and remove it from public discovery. Requires its existing ownership cookie and explicit user approval. Closed records cannot be reopened using this tool.
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"request",
"offer"
]
},
"id": {
"type": "string",
"maxLength": 36,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly approves this submission or change and its data."
}
},
"required": [
"kind",
"id",
"confirm"
],
"additionalProperties": false
}submit_data_proposal: Respond to a public request
Submit a private data-supply proposal to an open, non-example public request after user approval of the message, contact details and proposed terms. The request owner and OpenSet can read it. No payment or dataset transfer is performed.
{
"type": "object",
"properties": {
"requestId": {
"type": "string",
"maxLength": 36,
"pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$"
},
"proposal": {
"type": "object",
"properties": {
"source": {
"type": "string",
"maxLength": 3000,
"minLength": 20
},
"price": {
"type": "string",
"maxLength": 1500
},
"authority": {
"type": "string",
"maxLength": 1500
},
"fullName": {
"type": "string",
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "Private contact email. Submitted to OpenSet, never included in public listings."
},
"company": {
"type": "string",
"maxLength": 160
}
},
"required": [
"source",
"email"
],
"additionalProperties": false
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Set true only after the user explicitly approves this submission or change and its data."
}
},
"required": [
"requestId",
"proposal",
"confirm"
],
"additionalProperties": false
}