Rafał Doniec: AI for companies

Services, price ranges and quote requests of Rafał Doniec, AI Solution Architect (Wrocław, Poland).

我该使用它吗

质量与安全性

A
描述质量
98%
模式完整度
89%
命名质量
93%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,672token 数(工具定义)
~3.2 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.09%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "services": {
      "url": "https://www.rafaldoniec.com/mcp"
    }
  }
}

远程端点

https://www.rafaldoniec.com/mcpstreamable-http
https://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"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本8 个工具
需要认证未记录版本—