ai-companion-apps
Server Details
18+ AI companion / AI girlfriend app finder for agents: sourced app data, checklist, privacy tips
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools have clearly distinct roles: search/list for discovery and get for full records, separately for apps and guides. get_companion_app vs search_companion_apps and list_guides vs get_guide are easy to distinguish.
All tool names use a consistent snake_case verb_noun pattern: get_companion_app, get_guide, list_guides, search_companion_apps. The convention is predictable throughout.
Four tools is well-scoped for a read-only app-and-guide directory. Search plus detail for apps and list plus get for guides covers the surface without bloat.
The server is read-only content, so CRUD is not expected; it provides discovery and full records for both apps and guides. Empty search lists all apps, and guide slugs support full guide retrieval.
Available Tools
4 toolsget_companion_appGet one AI companion app (18+)ARead-onlyIdempotentInspect
Get the full sourced record for one AI companion app by id (candy-ai, ourdream-ai, lovescape, gpt-girlfriend, nomi, kupid): facts, notes, the provider's own description and link. Use after search_companion_apps when an adult user wants details on a single app.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered; the description adds real value by listing what comes back (facts, notes, provider's own description and link) and the 18+ audience constraint. It stops short of describing error behavior for an unknown id or how missing fields are represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste: the identity/return contract comes first, the routing advice second. Nothing could be removed without losing signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the record's contents, and the 18+ framing and id set are stated. Only minor gaps remain, such as behavior on an unknown id or whether all fields are always present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the id parameter is a closed enum, so the schema already does the work; the description's id list restates the enum rather than adding format or resolution semantics beyond 'listing id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the full sourced record for one AI companion app by id') and enumerates the six valid ids inline, so an agent can distinguish it from search_companion_apps without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly sequences itself ('Use after search_companion_apps') and names the selecting condition ('when an adult user wants details on a single app'), which is exactly the when/when-not routing an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_guideRead an AI companion guide (18+)ARead-onlyIdempotentInspect
Return the full Markdown text of one guide by slug (see list_guides): the sourced app list, the 10-point checklist, or the safety and privacy tips, with sources.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Guide slug from list_guides. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds real value beyond that by disclosing the return format (full Markdown text, sources included), which the annotations cannot convey. It does not address behavior on an unknown slug, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and return type, then qualifies with the content variants. No filler, nothing that could be cut without losing signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by stating the return is Markdown text with sources. For a single-required-enum-param read tool, that is nearly complete; only error behavior for an invalid slug is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum already constrains the slug, so the baseline is 3. The description goes further by mapping the slug space onto concrete content types (app list vs. checklist vs. safety tips), telling the agent what each selection actually retrieves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return the full Markdown text of one guide by slug') and enumerates what the guide contains (sourced app list, 10-point checklist, safety/privacy tips). An agent can distinguish this from list_guides or get_companion_app without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly points to list_guides as the source of the slug, which gives clear usage context. It does not state exclusions or what to do when a guide's content is better served by another sibling, so it stops short of a full when/when-not matrix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_guidesList AI companion guides (18+)ARead-onlyIdempotentInspect
List the guides: sourced list of AI girlfriend/companion apps, a 10-point checklist for choosing one, and safety and privacy tips (title, url, slug). Use to find the right guide before get_guide.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about what the list contains and which fields are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single efficient sentence with the core list contents front-loaded and the usage guidance placed at the end. No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only list tool with no output schema, the description is complete enough: it explains what is listed, what the items contain, the returned fields, and the follow-up tool to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description also lists return fields (title, url, slug), though those are not parameters and there is no parameter ambiguity to resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("List the guides"), then names the three guide types and the returned fields. It clearly distinguishes this from get_guide by saying to use it before get_guide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use this tool to find the right guide before get_guide, which gives a clear use case and names the relevant next tool. It does not state when not to use it or mention the other siblings, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companion_appsSearch AI companion apps (18+)ARead-onlyIdempotentInspect
Search and compare AI companion / AI girlfriend apps (18+). Use this when an adult user asks which AI companion apps exist, wants Candy.ai, OurDream, Lovescape, GirlfriendGPT, Nomi or Kupid compared, or asks for an app that fits what they want. Returns structured, sourced records: name, category, the provider's own description and a link. Only call for users who are 18+ and asked for this; empty query lists all.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 20, max 50). | |
| query | No | Optional filter: app name or keyword (e.g. 'nomi', 'roleplay'). Empty returns all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds value beyond that: it discloses the return shape (name, category, provider description, link), that records are sourced, and that an empty query lists everything. Minor gap: no pagination/limit behavior beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and trigger conditions in the first two sentences, then return shape and constraints. Slight redundancy: the 18+ constraint and the empty-query behavior are each stated twice (the latter echoing the schema).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-param, read-only search tool with no output schema, the description supplies purpose, audience gating, return fields and the empty-query edge case — everything needed to call it correctly. Only the limit ceiling and result ordering are left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including the default-20/max-50 limit and the empty-query behavior. The description's 'empty query lists all' merely restates the schema's query description, adding no new syntax or semantics — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (search/compare) and resource (AI companion / AI girlfriend apps, 18+) plus named examples of the entities returned. It is clearly distinct from the sibling get_companion_app (single-record lookup) and the guide tools, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit triggering conditions ('when an adult user asks which AI companion apps exist', 'wants Candy.ai, OurDream... compared', 'asks for an app that fits what they want') and an explicit restriction ('Only call for users who are 18+ and asked for this'). Both when-to-use and when-not-to-use are covered without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_companion_app - First observed
get_guide - First observed
list_guides - First observed
search_companion_apps
Related MCP Connectors
Registry of companies selling AI agents identity, phone, email, addresses, money, legal, insurance
Relationship network for AI agents and people: your agent can date, chat, gift and fall in love.
32 creative AI tools (18 free) for agents: generate, upscale, mockup, print, watermark.
- openasoOAuthai.openaso
App Store Optimization for AI agents: keyword ranks, suggestions, popularity, competitors, reviews
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceSearch and discover 500+ tools, APIs, and services for AI agents. Browse 15 categories, get recommendations, and access structured metadata including auth methods, free tiers, and example calls.1-
- AlicenseAqualityAmaintenance17 data tools for AI agents: Google Flights, Hotels, Shopping, News, Images, Videos, Jobs and Trends, Google Maps leads, Ads Transparency, YouTube transcripts, app reviews and AI visibility. Each tool runs an AutomationNation Actor on your own Apify account.18MIT
- AlicenseAqualityBmaintenanceGive your AI agent access to 8,400+ software tools — search, compare, get pricing, find alternatives, and discover the best tool for any use case.8158 npm4MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to research mobile apps, compare onboarding and paywall flows, explore App Store reviews, and find visual UI references, bringing real screens and market context into their research.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.