← back to Open Seo
src/client/features/ai-mcp/AvailableTools.tsx
148 lines
type McpTool = {
name: string;
title: string;
description: string;
};
type ToolCategory = {
label: string;
tools: McpTool[];
};
const toolCategories: ToolCategory[] = [
{
label: "Keywords",
tools: [
{
name: "research_keywords",
title: "Research keywords",
description: "Get keyword ideas with volume, difficulty, and CPC.",
},
{
name: "get_rank_tracker",
title: "Get rank tracking positions",
description: "Read tracked keyword positions.",
},
{
name: "get_keyword_metrics",
title: "Get keyword metrics",
description:
"Volume, difficulty, intent, CPC, and trends for any keyword list.",
},
{
name: "list_saved_keywords",
title: "Get saved keywords",
description: "Pull your saved keyword lists.",
},
{
name: "save_keywords",
title: "Save keywords",
description: "Save keywords back to OpenSEO.",
},
],
},
{
label: "Competitive Research",
tools: [
{
name: "get_serp_results",
title: "Get SERP results",
description: "See live Google results for a keyword.",
},
{
name: "find_serp_competitors",
title: "Find SERP competitors",
description: "Compare domains across a keyword set.",
},
{
name: "get_ranked_keywords",
title: "Get ranked keywords",
description: "Find exact keyword, page, and rank rows.",
},
{
name: "get_domain_overview",
title: "Get domain overview",
description: "Summarize a domain's organic footprint.",
},
{
name: "get_domain_keyword_suggestions",
title: "Get domain keywords",
description: "Find keywords a domain already ranks for.",
},
{
name: "get_backlinks_overview",
title: "Get backlinks overview",
description: "Check backlink and referring-domain stats.",
},
{
name: "get_backlinks_profile",
title: "Get backlinks profile",
description: "Fetch paginated link-level backlink rows.",
},
],
},
{
label: "Local Business",
tools: [
{
name: "search_local_businesses",
title: "Search local businesses",
description: "Find local business candidates near a coordinate.",
},
{
name: "get_local_serp_results",
title: "Get local SERP results",
description: "Fetch one Maps or Local Finder result set.",
},
{
name: "get_google_business_questions",
title: "Get business questions",
description: "Read Google Business Profile Q&A rows.",
},
],
},
{
label: "Search Console",
tools: [
{
name: "get_search_console_performance",
title: "Get Search Console performance",
description:
"Read clicks, impressions, CTR, and position from Search Console.",
},
{
name: "inspect_urls",
title: "Inspect URLs",
description:
"Check index status, crawl, and canonical for up to 10 URLs.",
},
],
},
];
export function AvailableTools() {
return (
<div className="grid gap-x-8 gap-y-8 md:grid-cols-2">
{toolCategories.map((cat) => (
<div key={cat.label}>
<h3 className="text-xs font-semibold uppercase tracking-wide text-base-content/50">
{cat.label}
</h3>
<ul className="mt-3 space-y-3">
{cat.tools.map((tool) => (
<li key={tool.name} className="flex flex-col gap-0.5">
<span className="text-sm font-medium text-base-content">
{tool.title}
</span>
<p className="text-xs text-base-content/60 leading-relaxed">
{tool.description}
</p>
</li>
))}
</ul>
</div>
))}
</div>
);
}