NeedAnAI MCP
An official MCP server providing programmatic access to the NeedAnAI directory of 15,000+ AI tools. It enables agents to search for tools, retrieve detailed profiles including pricing and alternatives, compare tools side-by-side, get task-based recommendations, and manage watches or submissions. The server supports both free read-only access and authenticated actions like watching for status changes.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.needanai.com/mcpWhat you can do with it
- Search for AI tools by task, category, or pricing model
- Get detailed profiles, pricing history, and alternatives for specific tools
- Compare multiple tools side-by-side based on attributes
- Recommend tools for specific tasks within a budget
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- com.needanai/catalog 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 14 advertised
- Resources
- 0 advertised
- Resource templates
- 1 advertised
- Prompts
- 1 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
14 advertised
search_tools — Search AI tools
Search the NeedAnAI catalogue of 15,000+ AI tools by free text, pricing model, category or task. Returns ranked hits with pricing, status, freshness (when the site was last confirmed alive) and canonical URLs, plus facet counts and a separate, labelled sponsored block. Use list_taxonomy for valid category and task slugs.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "1-based page number."
},
"sort": {
"enum": [
"relevance",
"recent"
],
"type": "string"
},
"task": {
"type": "string",
"maxLength": 120,
"description": "Task slug from list_taxonomy."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Free text, e.g. \"video editing\" or a tool name. Empty lists the catalogue."
},
"perPage": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Results per page, max 25."
},
"pricing": {
"type": "array",
"items": {
"enum": [
"free",
"freemium",
"paid",
"subscription",
"free-trial",
"contact"
],
"type": "string"
},
"maxItems": 6,
"description": "Restrict to these pricing models."
},
"category": {
"type": "string",
"maxLength": 120,
"description": "Category slug from list_taxonomy."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query",
"hits",
"total",
"page",
"pages",
"perPage",
"facets",
"sponsored"
],
"properties": {
"hits": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"page": {
"type": "number"
},
"pages": {
"type": "number"
},
"query": {
"type": "string"
},
"total": {
"type": "number"
},
"facets": {
"type": "object",
"required": [
"pricing",
"categories",
"tasks"
],
"properties": {
"tasks": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"pricing": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"categories": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
}
},
"additionalProperties": {}
},
"perPage": {
"type": "number"
},
"sponsored": {
"type": "object",
"required": [
"disclosure",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"disclosure": {
"type": "string",
"description": "Always present. Sponsored items are never mixed into ranked results."
}
},
"additionalProperties": {}
}
},
"additionalProperties": {}
}{
"title": "Search AI tools",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_tool — Get a tool profile
Full profile of one tool by slug: description, pricing model and details (with when pricing was last checked), pricing history, pros, cons, FAQs, categories, tasks, media, site status, freshness and up to five alternatives. Ends with a provenance line.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,190}$",
"description": "Tool slug as it appears in https://needanai.com/tool/<slug>"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug",
"name",
"summary",
"description",
"websiteUrl",
"pricing",
"pros",
"cons",
"faqs",
"categories",
"tasks",
"tags",
"jobs",
"media",
"flags",
"launchDate",
"siteStatus",
"freshness",
"source",
"alternatives"
],
"properties": {
"cons": {
"type": "array",
"items": {
"type": "string"
}
},
"faqs": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"answer"
],
"properties": {
"answer": {
"type": "string"
},
"question": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"jobs": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"pros": {
"type": "array",
"items": {
"type": "string"
}
},
"slug": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"flags": {
"type": "object",
"required": [
"trending",
"verified"
],
"properties": {
"trending": {
"type": "boolean"
},
"verified": {
"type": "boolean"
}
},
"additionalProperties": {}
},
"media": {
"type": "object",
"required": [
"logoUrl",
"screenshotUrl"
],
"properties": {
"logoUrl": {
"type": [
"string",
"null"
]
},
"screenshotUrl": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
},
"tasks": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"source": {
"type": "object",
"required": [
"url",
"checkedAt",
"verifiedAt",
"publishedAt"
],
"properties": {
"url": {
"type": "string"
},
"checkedAt": {
"type": [
"string",
"null"
]
},
"verifiedAt": {
"type": [
"string",
"null"
]
},
"publishedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
},
"pricing": {
"type": "object",
"required": [
"type",
"label",
"details",
"checkedAt"
],
"properties": {
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"details": {
"type": "string"
},
"checkedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"launchDate": {
"type": [
"string",
"null"
]
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"pricingHistory": {
"type": "array",
"items": {
"type": "object",
"required": [
"capturedAt",
"type",
"details"
],
"properties": {
"type": {
"type": "string"
},
"details": {
"type": "string"
},
"capturedAt": {
"type": "string"
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}{
"title": "Get a tool profile",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_alternatives — Find alternatives
Alternatives to a tool, ranked by freshness, profile completeness, curation and how many other tools list them as an alternative. Each entry carries a rationale. Optionally restrict to the same pricing model.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,190}$",
"description": "Tool slug as it appears in https://needanai.com/tool/<slug>"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1
},
"samePricing": {
"type": "boolean",
"description": "Only alternatives with the same pricing model."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tool",
"alternatives"
],
"properties": {
"tool": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness",
"score",
"rationale"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"score": {
"type": "number"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"rationale": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}{
"title": "Find alternatives",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_tools — Compare tools
Side-by-side comparison of 2–5 tools: pricing, summary, categories, tasks, pros, cons, site status, freshness, flags and launch date.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slugs"
],
"properties": {
"slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,190}$",
"description": "Tool slug as it appears in https://needanai.com/tool/<slug>"
},
"maxItems": 5,
"minItems": 2,
"description": "2 to 5 tool slugs."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tools",
"rows",
"missing"
],
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"attribute",
"values"
],
"properties": {
"values": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"attribute": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"tools": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"url",
"websiteUrl"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
},
"missing": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": {}
}{
"title": "Compare tools",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}recommend_for_task — Recommend tools for a task
Given a job to be done ("create a logo", "transcribe meetings") and an optional budget, returns the best-fitting tools with an explicit rationale per recommendation. Resolves known task slugs first, then falls back to free-text search.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task"
],
"properties": {
"task": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "What the user wants to do, e.g. \"create a logo\", or a task slug."
},
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1
},
"budget": {
"enum": [
"free",
"freemium",
"paid",
"any"
],
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task",
"matchedTask",
"budget",
"recommendations",
"considered"
],
"properties": {
"task": {
"type": "string"
},
"budget": {
"type": "string"
},
"considered": {
"type": "number"
},
"matchedTask": {
"anyOf": [
{
"type": "object",
"required": [
"slug",
"name"
],
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"recommendations": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness",
"score",
"rationale"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"score": {
"type": "number"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"rationale": {
"type": "array",
"items": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}{
"title": "Recommend tools for a task",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_taxonomy — List categories or tasks
All category or task slugs with names and live tool counts. Use the slugs as filters for search_tools and recommend_for_task.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind"
],
"properties": {
"kind": {
"enum": [
"categories",
"tasks"
],
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"items"
],
"properties": {
"kind": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"description",
"count",
"url"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"count": {
"type": "number"
},
"description": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}{
"title": "List categories or tasks",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_articles — Search articles
Search 660+ editorial articles (reviews, comparisons, alternatives round-ups, guides) by keywords and optional category.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200
},
"category": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query",
"total",
"articles"
],
"properties": {
"query": {
"type": "string"
},
"total": {
"type": "number"
},
"articles": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"title",
"description",
"category",
"readingMinutes",
"url"
],
"properties": {
"url": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"readingMinutes": {
"type": "number"
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}{
"title": "Search articles",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_article — Get an article
The full markdown body of one article by slug.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]{0,190}$"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug",
"title",
"description",
"category",
"readingMinutes",
"url",
"markdown"
],
"properties": {
"url": {
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"category": {
"type": "string"
},
"markdown": {
"type": "string"
},
"description": {
"type": "string"
},
"readingMinutes": {
"type": "number"
}
},
"additionalProperties": {}
}{
"title": "Get an article",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_status — Check a tool’s status
Is the tool’s site alive? Returns the scanner verdict, when it was last checked and verified, when pricing was last checked, and a freshness label.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,190}$",
"description": "Tool slug as it appears in https://needanai.com/tool/<slug>"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug",
"name",
"url",
"websiteUrl",
"siteStatus",
"freshness",
"checkedAt",
"verifiedAt",
"pricingCheckedAt",
"note"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"note": {
"type": "string"
},
"slug": {
"type": "string"
},
"checkedAt": {
"type": [
"string",
"null"
]
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"siteStatus": {
"type": "string"
},
"verifiedAt": {
"type": [
"string",
"null"
]
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingCheckedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}{
"title": "Check a tool’s status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}watch_tool — Watch a tool for changes
Subscribe to status and pricing changes for a tool (checked every 30 minutes). Delivered to an https webhook or email. Requires an API key (free, from https://needanai.com/profile?tab=api-keys).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug",
"channel",
"target"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,190}$",
"description": "Tool slug as it appears in https://needanai.com/tool/<slug>"
},
"target": {
"type": "string",
"maxLength": 2048,
"minLength": 3,
"description": "https webhook URL or email address"
},
"channel": {
"enum": [
"webhook",
"email"
],
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"toolSlug",
"channel",
"target",
"lastNotifiedAt",
"createdAt"
],
"properties": {
"id": {
"type": "string"
},
"target": {
"type": "string"
},
"channel": {
"type": "string"
},
"toolSlug": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"lastNotifiedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}{
"title": "Watch a tool for changes",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_watches — List my watches
Active watches on this API key.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"watches"
],
"properties": {
"watches": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"toolSlug",
"channel",
"target",
"lastNotifiedAt",
"createdAt"
],
"properties": {
"id": {
"type": "string"
},
"target": {
"type": "string"
},
"channel": {
"type": "string"
},
"toolSlug": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"lastNotifiedAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
}
},
"additionalProperties": {}
}{
"title": "List my watches",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}unwatch_tool — Remove a watch
Stop a watch by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"revoked"
],
"properties": {
"id": {
"type": "string"
},
"revoked": {
"type": "boolean",
"const": true
}
},
"additionalProperties": {}
}{
"title": "Remove a watch",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}submit_tool — Submit a tool
Suggest a tool for the catalogue. If its website is already listed the existing listing is returned instead. Requires an API key.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"url",
"description"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"name": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"description": {
"type": "string",
"maxLength": 2000,
"minLength": 20
},
"pricingType": {
"enum": [
"free",
"freemium",
"paid",
"subscription",
"free-trial",
"contact"
],
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"tool": {
"type": "object",
"required": [
"slug",
"name",
"summary",
"pricingType",
"categories",
"tasks",
"url",
"websiteUrl",
"siteStatus",
"freshness"
],
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"tasks": {
"type": "array",
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"freshness": {
"type": "object",
"required": [
"label",
"basis",
"at",
"ageDays"
],
"properties": {
"at": {
"type": [
"string",
"null"
]
},
"basis": {
"enum": [
"verified",
"checked",
"none"
],
"type": "string"
},
"label": {
"enum": [
"fresh",
"aging",
"stale",
"unknown"
],
"type": "string",
"description": "fresh ≤30 days, aging ≤90 days, stale beyond, unknown when never checked"
},
"ageDays": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": {}
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"siteStatus": {
"type": "string"
},
"websiteUrl": {
"type": [
"string",
"null"
]
},
"pricingType": {
"type": "string"
}
},
"additionalProperties": {}
},
"status": {
"enum": [
"submitted",
"already_listed"
],
"type": "string"
},
"submissionId": {
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Submit a tool",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}export_tools — Export tools
Bulk export of a filtered slice of the catalogue (up to 2,000 rows) as JSON or CSV. Returns a signed download URL valid for 24 hours. Requires an API key.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"task": {
"type": "string",
"maxLength": 120
},
"query": {
"type": "string",
"maxLength": 200
},
"format": {
"enum": [
"json",
"csv"
],
"type": "string"
},
"maxRows": {
"type": "integer",
"maximum": 2000,
"minimum": 1
},
"pricing": {
"type": "array",
"items": {
"enum": [
"free",
"freemium",
"paid",
"subscription",
"free-trial",
"contact"
],
"type": "string"
}
},
"category": {
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"format",
"rows",
"createdAt",
"expiresAt",
"url",
"truncated"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string",
"description": "Signed download URL, valid until expiresAt."
},
"rows": {
"type": "number"
},
"format": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"expiresAt": {
"type": "string"
},
"truncated": {
"type": "boolean"
}
},
"additionalProperties": {}
}{
"title": "Export tools",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
1 advertised
find_tool_for — Find an AI tool for a task
Guides the model through recommend_for_task → compare_tools with the freshness caveat.
- task
- What the user wants to do (required)
- budget
- No description
Resources
0 advertised
tool — Tool profile
Markdown profile of a NeedAnAI tool
needanai://tool/{slug}30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 497 ms
- 95th percentile latency
- 497 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 497 ms · metadata changed · 14 tool(s), 0 resource(s), 1 resource template(s), 1 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http needanai-mcp https://mcp.needanai.com/mcpCodex
codex mcp add needanai-mcp --url https://mcp.needanai.com/mcpCursor
{
"mcpServers": {
"needanai-mcp": {
"url": "https://mcp.needanai.com/mcp"
}
}
}Cline
{
"mcpServers": {
"needanai-mcp": {
"type": "streamableHttp",
"url": "https://mcp.needanai.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"needanai-mcp": {
"type": "http",
"url": "https://mcp.needanai.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http needanai-mcp https://mcp.needanai.com/mcpClaude Desktop
{
"mcpServers": {
"needanai-mcp": {
"url": "https://mcp.needanai.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"needanai-mcp": {
"serverUrl": "https://mcp.needanai.com/mcp"
}
}
}Let your agent find its tools
Find servers like NeedAnAI MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other ai and machine learning servers
Do you run NeedAnAI MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.