Patchwell
Cited web research, transcription with word timestamps, and CSV/Excel cleaning with a change log.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"patchwell": {
"url": "https://patchwell.io/mcp/"
}
}
}リモートエンドポイント
https://patchwell.io/mcp/streamable-httphttps://patchwell.io/connect/streamable-httpできること
ツール一覧
ツール(4)
🟢transcribe(url, language)
Transcribe speech in an audio or video file. Use it when you need the words in a recording, quotes with their time, or subtitles. Returns text, sentence segments, each word with start/end seconds and confidence, SRT and VTT, and `flags` listing any phrase the guards removed (Whisper's invented phrases over silence and repetition loops) with its original text and time. Files over about 100 seconds of processing return {"status": "running", "job_id"}: call get_job_result with it. Price: $0.008 per audio minute; failed downloads are free.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"description": "Direct http(s) link to an audio or video file: mp3, wav, m4a, ogg, flac, mp4, mov, webm and most others. Up to 3 hours. YouTube page links don't work; pass the media file itself.",
"title": "Url",
"type": "string"
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Two-letter language code such as en, es or ja. Leave it out to detect the language from the audio.",
"title": "Language"
}
},
"required": [
"url"
],
"title": "transcribeArguments"
}🟢research(question, context)
Research a question on the live web and get an answer in which each sentence cites the page it came from. Use it for facts you can't answer from memory or that may have changed. Returns `answer` (sentences with [url] citations), `sources`, `gaps` (what the sources couldn't confirm) and `confidence` (high/medium/low). Takes about a minute; a slow question returns {"status": "running", "job_id"} for get_job_result. Declines questions about private individuals (addresses, contact details, relatives, profiles) and returns a `category` saying why. Price: $0.15 per answered question; declined and unanswered questions are free.
入力スキーマ
{
"type": "object",
"properties": {
"question": {
"description": "The question in plain language, up to 4,000 characters. Ask about topics, markets, products, prices, companies, regulations, places, events or published research.",
"title": "Question",
"type": "string"
},
"context": {
"default": "",
"description": "Optional background: who the answer is for, what you already know, or constraints such as country or date range.",
"title": "Context",
"type": "string"
}
},
"required": [
"question"
],
"title": "researchArguments"
}🟢get_job_result(job_id)
Fetch the result of a long call that returned {"status": "running", "job_id"}. Call it every 20 to 30 seconds until status is 'done'; the finished result has the same shape as the original tool's. Free.
入力スキーマ
{
"type": "object",
"properties": {
"job_id": {
"description": "The job_id from a transcribe, research or clean_data call that returned status 'running'.",
"title": "Job Id",
"type": "string"
}
},
"required": [
"job_id"
],
"title": "get_job_resultArguments"
}🟡clean_data(url, filename, content_base64, dedupe_on, required, ...)
Clean a messy spreadsheet or JSON export into typed, deduplicated records with a log of each change. Use it before you analyse, import or act on tabular data. It works out each column's type from the values, normalises emails, phones, dates, money, names and states, repairs broken encodings, and merges duplicate records. Returns `rows`, `changes` (row, column, before, after, rule), `review` (rows held back, with the reason), `columns`, `clusters` (likely typos), a JSON `schema`, a reusable `recipe` and `stats`, whose counts always add up to the input rows. Price: $2 per 1,000 rows, minimum $0.02.
入力スキーマ
{
"type": "object",
"properties": {
"url": {
"default": "",
"description": "Public http(s) link to a CSV, TSV, XLSX or JSON file, up to 100 MB. Use this or content_base64.",
"title": "Url",
"type": "string"
},
"filename": {
"default": "",
"description": "File name with extension (e.g. customers.csv). Required with content_base64 so the format is known.",
"title": "Filename",
"type": "string"
},
"content_base64": {
"default": "",
"description": "The file itself, base64-encoded, for small files you hold locally. Use this or url.",
"title": "Content Base64",
"type": "string"
},
"dedupe_on": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Columns that identify a record; rows matching on them merge into one. Default: the email column, else the whole row.",
"title": "Dedupe On"
},
"required": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Columns a row must have; rows missing one go to the review list.",
"title": "Required"
},
"hints": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Force a column's type, e.g. {\"Joined\": \"date\"}. Types: email, phone, date, money, number, us_state, name, boolean, text.",
"title": "Hints"
},
"recipe": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "The `recipe` from an earlier run. Pass it to clean a new file with the same column types and rules.",
"title": "Recipe"
},
"phone_region": {
"default": "US",
"description": "Two-letter country for phone numbers written without a country code, e.g. US, GB, DE.",
"title": "Phone Region",
"type": "string"
},
"phone_format": {
"default": "national",
"description": "'national' like (415) 555-0100, or 'e164' like +14155550100.",
"title": "Phone Format",
"type": "string"
}
},
"title": "clean_dataArguments"
}コミュニティ
エビデンス