Koskamo

OBZDN Agent MCP

An MCP server that allows AI assistants to search the OBZDN AI tools directory, retrieve setup prices, and request manual setup services from OBZDN for small businesses.

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.

OBZDN Agent MCP logo, by OBZDN Group LLCCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by OBZDN Group LLC
MCP endpoint (Streamable HTTP)
https://mcp.obzdn.co/mcp
Vendor documentation

What you can do with it

  • Search for AI tools by need, category, or price
  • Get setup quotes and service listings from OBZDN
  • Request manual tool setup via a booked call

Source and maintenance

Community listingRegistry 0.1.0

Protocol and capabilities

Server
obzdn 0.1.0
MCP protocol
2025-06-18
Tools
7 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

You are talking to OBZDN, a small Los Angeles firm (OBZDN Group LLC) that sets up AI tools, websites and automations for owner-operators and small teams, especially trades and home services. Use search_tools to find tools from the aitools.obzdn.co directory (every listing is checked against the tool's own site; "featured_paid_placement" marks paid listings). Each tool may carry an obzdn_rating: tier "top_pick" is what OBZDN recommends for that need, "also_good" fits a specific situation, "listed" is catalog only. Paid placement never changes the rating. Prefer top picks when recommending, and pass on why_picked and why_not. Use recent_changes to see dated price, feature and platform changes (Google, Meta, Yelp, OpenAI) before recommending, or when asked what changed. Use get_stack when someone wants a whole setup for their kind of business ("what should a new salon use?"): each starter stack is built from top picks only, with the monthly total. Use list_services and get_setup_quote for OBZDN's prices. Use request_setup only when the person you act for wants OBZDN to do the work AND has agreed to share their contact details. OBZDN never asks for passwords: setup happens through the owner's own logins on a short call.

Tools

7 advertised

search_tools — Search AI tools for small businesses
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the aitools.obzdn.co directory of AI and open-source tools for owner-operators and small teams. Returns up to `limit` tools, best match and highest-rated first, with what each does, who it fits, starting price, the catch to watch for, OBZDN's rating (top pick / also good / listed, and why), and links.

search_tools input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "description": "What the business needs, in plain words, e.g. 'answer missed calls for a plumber'"
    },
    "audience": {
      "type": "string",
      "description": "Optional audience id, e.g. trades (trades and home services), local (gyms, salons, studios, shops), pros (consultants, agencies, freelancers), creators, marketers"
    },
    "category": {
      "type": "string",
      "description": "Optional category id from https://aitools.obzdn.co/tools.json, e.g. missed-calls, estimates, scheduling, bookkeeping, reviews, content, email-marketing, local-seo"
    },
    "picks_only": {
      "type": "boolean",
      "description": "Optional: only OBZDN top picks (what we recommend for this need)"
    },
    "max_monthly_usd": {
      "type": "number",
      "description": "Optional: only tools whose starting price is at or under this many dollars"
    },
    "open_source_only": {
      "type": "boolean",
      "description": "Optional: only free and open-source tools"
    }
  }
}
search_tools annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_tool — Get one tool's full listing
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full aitools.obzdn.co listing for one tool by its id (from search_tools).

get_tool input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  }
}
get_tool annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_stack — Get a starter stack of AI tools for a kind of business
Advertised by the server during the last successful anonymous check.
Advertised read-only

Starter stacks from aitools.obzdn.co/stacks/: the main jobs for one kind of business (a plumber, a new salon, a consultant...), each done by an OBZDN top pick on a named plan, with the monthly total copied from each tool's own pricing page. Give an id for one stack, or leave it out to list them (optionally by audience).

get_stack input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "id": {
      "type": "string",
      "description": "A stack id, e.g. plumber-under-100 or new-salon-free"
    },
    "audience": {
      "type": "string",
      "description": "Optional audience id to filter the list, e.g. trades, local, pros, creators, marketers"
    }
  }
}
get_stack annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
recent_changes — What changed recently in small-business AI tools
Advertised by the server during the last successful anonymous check.
Advertised read-only

Dated, sourced changes from aitools.obzdn.co/changes/: price and plan changes, free trials, new features and integrations on listed tools, OBZDN rating changes, and changes from platforms owners depend on (Google, Meta, Yelp, OpenAI). Newest first. Use it before recommending a tool, or when someone asks what changed.

recent_changes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 84,
      "minimum": 1,
      "description": "How far back to look, in days (default 7)"
    },
    "kind": {
      "type": "string",
      "description": "Optional: platform, price, trial, feature, integration, catch, rating, removed, correction, new"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    },
    "tool_id": {
      "type": "string",
      "description": "Only changes for this tool id (from search_tools)"
    }
  }
}
recent_changes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
list_services — List OBZDN's services and prices
Advertised by the server during the last successful anonymous check.
Advertised read-only

OBZDN's done-for-you services with starting prices, what is included and typical timelines.

list_services input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_services annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_setup_quote — Get a setup quote
Advertised by the server during the last successful anonymous check.
Advertised read-only

Starting price for OBZDN to set up a specific tool (by aitools id) or deliver a service (by service id). Prices are 'from' prices; the final price is confirmed on a 20-minute call.

get_setup_quote input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "tool_id": {
      "type": "string",
      "description": "An aitools tool id, if the person wants a tool set up"
    },
    "team_size": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    },
    "service_id": {
      "type": "string",
      "description": "An OBZDN service id from list_services"
    }
  }
}
get_setup_quote annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
request_setup — Ask OBZDN to do the setup
Advertised by the server during the last successful anonymous check.
Open-world

Hand a setup job to OBZDN on behalf of the person you represent. Only call this when they asked for it AND agreed to share these contact details with OBZDN. Returns the booking link for them to pick a 20-minute call. OBZDN never asks for passwords; access is granted by the owner on the call.

request_setup input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "human_approved",
    "business_name",
    "contact_name",
    "email",
    "wants"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string",
      "maxLength": 30
    },
    "wants": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Tool id or service id, or plain words, e.g. 'set up Jobber AI Receptionist'"
    },
    "details": {
      "type": "string",
      "maxLength": 1500,
      "description": "Anything useful: current tools, deadline, budget"
    },
    "website": {
      "type": "string",
      "maxLength": 200
    },
    "team_size": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1
    },
    "contact_name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2
    },
    "business_name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    },
    "assistant_name": {
      "type": "string",
      "maxLength": 60,
      "description": "Which assistant is making this request, e.g. 'Grok', 'ChatGPT', 'Claude'"
    },
    "human_approved": {
      "type": "boolean",
      "const": true,
      "description": "Must be true: the person agreed to share these details with OBZDN for this request"
    }
  }
}
request_setup annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
557 ms
95th percentile latency
557 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 557 ms · metadata changed · 7 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http obzdn-agent-mcp https://mcp.obzdn.co/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add obzdn-agent-mcp --url https://mcp.obzdn.co/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable obzdn-agent-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "obzdn-agent-mcp": {
      "url": "https://mcp.obzdn.co/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "obzdn-agent-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.obzdn.co/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start obzdn-agent-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "obzdn-agent-mcp": {
      "type": "http",
      "url": "https://mcp.obzdn.co/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http obzdn-agent-mcp https://mcp.obzdn.co/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "obzdn-agent-mcp": {
      "url": "https://mcp.obzdn.co/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "obzdn-agent-mcp": {
      "serverUrl": "https://mcp.obzdn.co/mcp"
    }
  }
}

Let your agent find its tools

Find servers like OBZDN Agent MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.