Rafał Doniec: AI for companies
Services, price ranges and quote requests of Rafał Doniec, AI Solution Architect (Wrocław, Poland).
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"services": {
"url": "https://www.rafaldoniec.com/mcp"
}
}
}원격 엔드포인트
https://www.rafaldoniec.com/mcpstreamable-httphttps://www.rafaldoniec.com/mcp/accountstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢list_services(language)
Rafał Doniec's services (AI automation, AI assistants, agent-ready companies, apps, strategy, prototypes, training, mentoring) with net price ranges in PLN and typical duration.
입력 스키마
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"services": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"automatyzacja",
"asystent",
"agenci",
"aplikacja",
"strategia",
"prototyp",
"szkolenie",
"mentoring"
]
},
"name": {
"type": "string"
},
"summary": {
"type": "string"
},
"price_pln_net": {
"type": "object",
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
}
},
"required": [
"from",
"to"
]
},
"weeks": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2,
"description": "Shortest and longest duration in weeks."
}
},
"required": [
"id",
"name",
"summary",
"price_pln_net",
"weeks"
]
}
},
"currency": {
"type": "string"
},
"prices": {
"type": "string"
}
},
"required": [
"services",
"currency",
"prices"
]
}🟢match_service(description, language)
Reads a client's need in their own words and suggests the service and the answers it mentions. Rules in code, no language model; check the result with the client.
입력 스키마
{
"type": "object",
"properties": {
"description": {
"type": "string",
"maxLength": 500,
"description": "The client's need in their own words (optional). Features it mentions, such as integrations, are priced in.",
"minLength": 3
},
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
}
},
"required": [
"description"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"service": {
"type": [
"string",
"null"
],
"description": "null when no service matched."
},
"name": {
"type": "string"
},
"answers": {
"type": "object",
"description": "Answers the description mentions, by question id (q1, q2, q3, when, budget).",
"additionalProperties": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
]
}
}
},
"required": [
"service"
]
}🟢get_quote_questions(service, language)
The five questions of a service with their option ids, as the quote assistant on the site asks them. q1–q3 set the price; when and budget set the start and the follow-up.
입력 스키마
{
"type": "object",
"properties": {
"service": {
"type": "string",
"enum": [
"automatyzacja",
"asystent",
"agenci",
"aplikacja",
"strategia",
"prototyp",
"szkolenie",
"mentoring"
],
"description": "Service id from list_services."
},
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
}
},
"required": [
"service"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"service": {
"type": "string"
},
"questions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"question": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
]
}
}
},
"required": [
"id",
"question",
"options"
]
}
}
},
"required": [
"service",
"questions"
]
}🟢estimate_price(service, answers, description, language)
Net price range in PLN, monthly upkeep, duration and what the price is made of, for a service and its answers, computed from the price list in code (the same as the quote assistant on the site). With all five answers it also returns the draft offer. Hosts with MCP Apps show the estimate as an offer card.
입력 스키마
{
"type": "object",
"properties": {
"service": {
"type": "string",
"enum": [
"automatyzacja",
"asystent",
"agenci",
"aplikacja",
"strategia",
"prototyp",
"szkolenie",
"mentoring"
],
"description": "Service id from list_services."
},
"answers": {
"type": "object",
"description": "Option ids chosen for the questions of the service (get_quote_questions): q1, q2, q3, when, budget.",
"properties": {
"q1": {
"type": "string"
},
"q2": {
"type": "string"
},
"q3": {
"type": "string"
},
"when": {
"type": "string"
},
"budget": {
"type": "string"
}
},
"required": [
"q1",
"q2",
"q3"
],
"additionalProperties": false
},
"description": {
"type": "string",
"maxLength": 500,
"description": "The client's need in their own words (optional). Features it mentions, such as integrations, are priced in."
},
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
}
},
"required": [
"service",
"answers"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"service": {
"type": "string"
},
"service_name": {
"type": "string"
},
"language": {
"type": "string",
"enum": [
"pl",
"en"
]
},
"price_pln_net": {
"type": "object",
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
}
},
"required": [
"from",
"to"
]
},
"service_span_pln_net": {
"type": "object",
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
}
},
"required": [
"from",
"to"
],
"description": "Lowest and highest price of the service over all answers."
},
"upkeep_pln_net_per_month": {
"type": [
"object",
"null"
],
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
}
},
"required": [
"from",
"to"
]
},
"weeks": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2,
"description": "Shortest and longest duration in weeks."
},
"breakdown": {
"type": "array",
"description": "Elements of the price list behind the estimate; the total is rounded.",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"price_pln_net": {
"type": "object",
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
}
},
"required": [
"from",
"to"
]
},
"upkeep_pln_net_per_month": {
"type": [
"object",
"null"
],
"properties": {
"from": {
"type": "number"
},
"to": {
"type": "number"
}
},
"required": [
"from",
"to"
]
}
},
"required": [
"item",
"price_pln_net",
"upkeep_pln_net_per_month"
]
}
},
"features_priced_in": {
"type": "array",
"items": {
"type": "string"
}
},
"draft_offer": {
"type": [
"string",
"null"
]
},
"note": {
"type": "string"
}
},
"required": [
"service",
"service_name",
"language",
"price_pln_net",
"service_span_pln_net",
"upkeep_pln_net_per_month",
"weeks",
"breakdown",
"features_priced_in",
"draft_offer",
"note"
]
}⚪request_quote(email, company, service, answers, description, ...)
Starts a quote request for the client: e-mails a 6-digit code to the client's address and returns a token. Ask the client for the code, then call confirm_quote with the same details. Nothing reaches Rafał until the code is confirmed.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The client's e-mail address. A 6-digit code is sent there."
},
"company": {
"type": "string",
"maxLength": 120,
"description": "Company name (optional)."
},
"service": {
"type": "string",
"enum": [
"automatyzacja",
"asystent",
"agenci",
"aplikacja",
"strategia",
"prototyp",
"szkolenie",
"mentoring"
],
"description": "Service id from list_services."
},
"answers": {
"type": "object",
"description": "Option ids chosen for the questions of the service (get_quote_questions): q1, q2, q3, when, budget.",
"properties": {
"q1": {
"type": "string"
},
"q2": {
"type": "string"
},
"q3": {
"type": "string"
},
"when": {
"type": "string"
},
"budget": {
"type": "string"
}
},
"required": [
"q1",
"q2",
"q3",
"when",
"budget"
],
"additionalProperties": false
},
"description": {
"type": "string",
"maxLength": 500,
"description": "The client's need in their own words (optional). Features it mentions, such as integrations, are priced in."
},
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
}
},
"required": [
"email",
"service",
"answers"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Pass it to confirm_quote with the code."
},
"code_valid_minutes": {
"type": "number"
}
},
"required": [
"token",
"code_valid_minutes"
]
}⚪confirm_quote(email, company, service, answers, description, ...)
Confirms the quote request with the 6-digit code the client received. Rafał gets the request and the client gets a copy of the draft offer by e-mail. One request per address a day.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The client's e-mail address. A 6-digit code is sent there."
},
"company": {
"type": "string",
"maxLength": 120,
"description": "Company name (optional)."
},
"service": {
"type": "string",
"enum": [
"automatyzacja",
"asystent",
"agenci",
"aplikacja",
"strategia",
"prototyp",
"szkolenie",
"mentoring"
],
"description": "Service id from list_services."
},
"answers": {
"type": "object",
"description": "Option ids chosen for the questions of the service (get_quote_questions): q1, q2, q3, when, budget.",
"properties": {
"q1": {
"type": "string"
},
"q2": {
"type": "string"
},
"q3": {
"type": "string"
},
"when": {
"type": "string"
},
"budget": {
"type": "string"
}
},
"required": [
"q1",
"q2",
"q3",
"when",
"budget"
],
"additionalProperties": false
},
"description": {
"type": "string",
"maxLength": 500,
"description": "The client's need in their own words (optional). Features it mentions, such as integrations, are priced in."
},
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
},
"token": {
"type": "string",
"description": "Token returned by request_quote."
},
"code": {
"type": "string",
"pattern": "^\\d{6}$",
"description": "The 6-digit code from the e-mail."
}
},
"required": [
"email",
"service",
"answers",
"token",
"code"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"sent": {
"type": "boolean"
}
},
"required": [
"sent"
]
}🟢list_blog_posts(language)
Posts of Rafał Doniec's blog about AI in companies, newest first.
입력 스키마
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"pl",
"en"
],
"description": "Language of the texts in the result. Default: en."
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"posts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"summary": {
"type": "string"
},
"published": {
"type": "string",
"description": "RFC 822 date from the feed."
}
},
"required": [
"title",
"url",
"summary",
"published"
]
}
},
"first_post_expected": {
"type": "string",
"description": "Date of the first post, while none is out yet."
},
"feed": {
"type": "string"
}
},
"required": [
"posts",
"feed"
]
}🟢get_contact
How to reach Rafał Doniec: e-mail, booking a call, LinkedIn, and the company details.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"book_a_call": {
"type": "string"
},
"linkedin": {
"type": "string"
},
"location": {
"type": "string"
},
"company": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"nip": {
"type": "string"
},
"regon": {
"type": "string"
}
},
"required": [
"name",
"nip",
"regon"
]
},
"website": {
"type": "string"
}
},
"required": [
"name",
"email",
"book_a_call",
"linkedin",
"location",
"company",
"website"
]
}커뮤니티
증거