thinkhard.si prompt tools

Search 300+ expert prompt templates for work, grade a prompt out of 10, and price AI models.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
82%
命名の品質
92%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,849トークン数(ツール定義)
~3.2 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.44%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "prompt-tools": {
      "url": "https://thinkhard.si/mcp"
    }
  }
}

リモートエンドポイント

https://thinkhard.si/mcpstreamable-http

できること

ツール一覧

ツール(5)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_prompts(query, collection, model, limit)

Find ready-made, expert prompt templates for a work task in the thinkhard.si repository (300+ prompts for email, meetings, presentations, job search, marketing, sales, support, HR, finance, legal, spreadsheets, research and more). Use it whenever the user wants to write, plan, summarize, analyze or draft something at work, before writing a prompt from scratch. Then call get_prompt with the slug.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What the user wants to do, in plain words, for example \"cover letter\" or \"summarize a long contract\"."
    },
    "collection": {
      "type": "string",
      "enum": [
        "office",
        "writing",
        "marketing",
        "careers",
        "sales",
        "support",
        "management",
        "people",
        "projects",
        "research",
        "data",
        "finance",
        "legal",
        "operations",
        "smallbiz",
        "education",
        "product",
        "engineering",
        "system",
        "media"
      ],
      "description": "Optional: limit to one collection (see list_collections)."
    },
    "model": {
      "type": "string",
      "enum": [
        "claude",
        "gpt",
        "gemini",
        "any",
        "agent",
        "midjourney",
        "image",
        "video"
      ],
      "description": "Optional: only prompts laid out for this kind of model."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 8
    }
  },
  "required": [
    "query"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "prompts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Registry number, such as CAR-002."
          },
          "slug": {
            "type": "string",
            "description": "Pass it to get_prompt."
          },
          "title": {
            "type": "string"
          },
          "use": {
            "type": "string",
            "description": "When to use it."
          },
          "collection": {
            "type": "string",
            "description": "The collection it belongs to."
          },
          "laid_out_for": {
            "type": "string",
            "description": "The kind of model it is laid out for."
          },
          "score": {
            "type": "integer",
            "description": "Its own grade out of 10."
          },
          "url": {
            "type": "string",
            "description": "Its page on thinkhard.si."
          }
        },
        "required": [
          "id",
          "slug",
          "title",
          "use",
          "collection",
          "laid_out_for",
          "score",
          "url"
        ]
      },
      "description": "Best match first. Empty when nothing matches."
    }
  },
  "required": [
    "prompts"
  ]
}
🟢get_prompt(prompt, values)

Get the full text of one prompt from the thinkhard.si repository by its slug, registry number (such as CAR-001) or exact title, with its {{blanks}}, what goes in each, and why it works. If the name does not match exactly, it answers with the closest matches instead. Pass values to fill blanks with the user's details. Ask the user for any blank you cannot fill from the conversation instead of inventing it.

入力スキーマ

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "The slug, registry number or exact title from search_prompts."
    },
    "values": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Optional: blank name → the user's text, for example {\"job_posting\": \"...\"}."
    }
  },
  "required": [
    "prompt"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Registry number."
    },
    "slug": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "system": {
      "type": "string",
      "description": "The system prompt, with the given values filled in. Empty when the template has none."
    },
    "prompt": {
      "type": "string",
      "description": "The user message, with the given values filled in."
    },
    "open_blanks": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Blanks still to fill. Ask the user for these."
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "slug",
    "title",
    "system",
    "prompt",
    "open_blanks",
    "url"
  ]
}
🟢list_collections

List the collections in the thinkhard.si prompt repository, with how many prompts each has.

入力スキーマ

{
  "type": "object",
  "properties": {}
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "collections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Pass it to search_prompts as collection."
          },
          "code": {
            "type": "string",
            "description": "Registry prefix, such as CAR."
          },
          "name": {
            "type": "string"
          },
          "blurb": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "description": "Prompts in the collection."
          }
        },
        "required": [
          "id",
          "code",
          "name",
          "blurb",
          "count"
        ]
      }
    }
  },
  "required": [
    "collections"
  ]
}
🟢grade_prompt(prompt, system, target)

Score a prompt out of 10 on the ten checks thinkhard.si uses (what to make, who it is for, background facts, length, format, what to avoid, what good looks like, an example, what to do if unsure, layout for the model). Returns which checks pass and a plain question for each one that fails. Rule-based and instant; use it to see what a prompt is missing before improving it.

入力スキーマ

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "The prompt to grade (the user message)."
    },
    "system": {
      "type": "string",
      "description": "Optional system prompt, graded together with the prompt."
    },
    "target": {
      "type": "string",
      "enum": [
        "claude",
        "gpt",
        "gemini",
        "any",
        "agent",
        "midjourney",
        "image",
        "video"
      ],
      "default": "any",
      "description": "The model it is for. Layout is judged for this model."
    }
  },
  "required": [
    "prompt"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "score": {
      "type": "integer",
      "description": "Out of 10."
    },
    "band": {
      "type": "string",
      "description": "The score in a word."
    },
    "target": {
      "type": "string",
      "description": "The model it was read for."
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "check": {
            "type": "string"
          },
          "pass": {
            "type": "boolean"
          }
        },
        "required": [
          "check",
          "pass"
        ]
      },
      "description": "The ten checks, in order."
    }
  },
  "required": [
    "score",
    "band",
    "target",
    "checks"
  ]
}
🟢estimate_ai_cost(input_tokens, prompt_text, output_tokens, calls_per_month, models)

Estimate the monthly cost of running a prompt on current AI models (Claude, GPT, Gemini, DeepSeek, Qwen and others), from thinkhard.si's price catalog, which is checked against each provider's pricing page. Give token counts, or paste the prompt text to estimate them.

入力スキーマ

{
  "type": "object",
  "properties": {
    "input_tokens": {
      "type": "integer",
      "minimum": 0,
      "description": "Input tokens per call. Omit to estimate from prompt_text."
    },
    "prompt_text": {
      "type": "string",
      "description": "Optional: the prompt, to estimate input tokens (about 4 characters a token)."
    },
    "output_tokens": {
      "type": "integer",
      "minimum": 0,
      "default": 500,
      "description": "Output tokens per call."
    },
    "calls_per_month": {
      "type": "integer",
      "minimum": 1,
      "default": 1000
    },
    "models": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional: model names or ids to include, such as \"Claude Sonnet 5.5\". Default: every current model."
    }
  }
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "checked": {
      "type": "string",
      "description": "When the prices were last checked against each provider."
    },
    "calls_per_month": {
      "type": "integer"
    },
    "input_tokens": {
      "type": "integer"
    },
    "output_tokens": {
      "type": "integer"
    },
    "models": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string"
          },
          "ref": {
            "type": "string",
            "description": "Provider and model id."
          },
          "per_call_usd": {
            "type": "number",
            "description": "US dollars per call."
          },
          "monthly_usd": {
            "type": "number",
            "description": "US dollars a month."
          },
          "input_per_million": {
            "type": "number",
            "description": "US dollars per million input tokens."
          },
          "output_per_million": {
            "type": "number",
            "description": "US dollars per million output tokens."
          },
          "note": {
            "type": "string",
            "description": "Empty unless something about the price needs saying."
          }
        },
        "required": [
          "model",
          "ref",
          "per_call_usd",
          "monthly_usd",
          "input_per_million",
          "output_per_million",
          "note"
        ]
      },
      "description": "Cheapest first."
    }
  },
  "required": [
    "checked",
    "calls_per_month",
    "input_tokens",
    "output_tokens",
    "models"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 5 件