Search 300+ expert prompt templates for work, grade a prompt out of 10, and price AI models.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Optional: model names or ids to include, such as "Claude Sonnet 5.5". Default: every current model.
Optional: the prompt, to estimate input tokens (about 4 characters a token).
Input tokens per call. Omit to estimate from prompt_text.
Output tokens per call.
Tool list last changed Oct 25, 2026.
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.
| Argument | Type | Description |
|---|---|---|
| models | array | Optional: model names or ids to include, such as "Claude Sonnet 5.5". Default: every current model. |
| prompt_text | string | Optional: the prompt, to estimate input tokens (about 4 characters a token). |
| input_tokens | integer | Input tokens per call. Omit to estimate from prompt_text. |
| output_tokens | integer | Output tokens per call. |
| calls_per_month | integer |
{
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional: model names or ids to include, such as \"Claude Sonnet 5.5\". Default: every current model."
},
"prompt_text": {
"type": "string",
"description": "Optional: the prompt, to estimate input tokens (about 4 characters a token)."
},
"input_tokens": {
"type": "integer",
"minimum": 0,
"description": "Input tokens per call. Omit to estimate from prompt_text."
},
"output_tokens": {
"type": "integer",
"default": 500,
"minimum": 0,
"description": "Output tokens per call."
},
"calls_per_month": {
"type": "integer",
"default": 1000,
"minimum": 1
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| prompt* | string | The slug, registry number or exact title from search_prompts. |
| values | object | Optional: blank name → the user's text, for example {"job_posting": "..."}. |
{
"type": "object",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"description": "The slug, registry number or exact title from search_prompts."
},
"values": {
"type": "object",
"description": "Optional: blank name → the user's text, for example {\"job_posting\": \"...\"}.",
"additionalProperties": {
"type": "string"
}
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| prompt* | string | The prompt to grade (the user message). |
| system | string | Optional system prompt, graded together with the prompt. |
| target | string | The model it is for. Layout is judged for this model. |
{
"type": "object",
"required": [
"prompt"
],
"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": {
"enum": [
"claude",
"gpt",
"gemini",
"any",
"agent",
"midjourney",
"image",
"video"
],
"type": "string",
"default": "any",
"description": "The model it is for. Layout is judged for this model."
}
}
}List the collections in the thinkhard.si prompt repository, with how many prompts each has.
No arguments.
{
"type": "object",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| model | string | Optional: only prompts laid out for this kind of model. |
| query* | string | What the user wants to do, in plain words, for example "cover letter" or "summarize a long contract". Everyday words, abbreviations (CV, 1:1, P&L, SOP) and typos are understood, and results come best match first. |
| collection | string | Optional: limit to one collection (see list_collections). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 25,
"minimum": 1
},
"model": {
"enum": [
"claude",
"gpt",
"gemini",
"any",
"agent",
"midjourney",
"image",
"video"
],
"type": "string",
"description": "Optional: only prompts laid out for this kind of model."
},
"query": {
"type": "string",
"description": "What the user wants to do, in plain words, for example \"cover letter\" or \"summarize a long contract\". Everyday words, abbreviations (CV, 1:1, P&L, SOP) and typos are understood, and results come best match first."
},
"collection": {
"enum": [
"office",
"writing",
"marketing",
"careers",
"sales",
"support",
"management",
"people",
"projects",
"research",
"data",
"finance",
"legal",
"operations",
"smallbiz",
"education",
"product",
"engineering",
"system",
"media"
],
"type": "string",
"description": "Optional: limit to one collection (see list_collections)."
}
}
}