HODDS

ai.hoddsPublished by hodds.aiOfficial publisherv0.4.0Updated Oct 26, 2026

Find software, SaaS and APIs for a need in a sourced catalogue organised by business process.

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

HODDS is a remote catalogue of software, SaaS and APIs organised by business process, letting an assistant search, compare and monitor solutions for a stated…

What you can do
  • Search the catalogue by need in English or French, filtered by business process, and read a record's details
  • Browse the process taxonomy with record counts per process
  • Compare two or three solutions on capabilities, offer, context and dated sources, or find comparable alternatives
  • Report an outcome (yes, partly, no) for an option returned by a search
  • With an organisation token: open, list and close watches on a need, set the current solution, read and acknowledge alerts, and rate alerts
  • With an organisation token: read the plan and invoices, manage subscribed processes for the demand data subscription, and list demand gaps per process
When to use it
Useful when someone is choosing software for a business need and wants a sourced shortlist, a side-by-side comparison, or ongoing alerts when a better option appears. The read-only search and comparison tools work without an account; monitoring and billing tools need an organisation account.
Requirements
Remote streamable HTTP endpoint at hodds.ai; no package or local runtime. Search, detail, taxonomy, comparison and feedback tools need no credentials. Watch, plan and gap tools need an organisation token sent as an Authorization Bearer header, obtained from a HODDS account. Network access to hodds.ai.
Before you install
The organisation token authorises writes that bind the organisation, including opening and closing watches, setting the current solution, acknowledging alerts and changing subscribed processes. Paid plans are billed through Stripe (per watched solution, monthly minimum, and a per-process demand subscription); tools never charge directly but return Checkout or plan page destinations. send_feedback writes an outcome report without a token. Closing a watch erases its data after 30 days.

Installation

In SourceWeft

  1. Open HODDS in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.hodds%2Fhodds/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hodds": {
      "type": "http",
      "url": "https://hodds.ai/mcp"
    }
  }
}

Tools

19

search_solutions

Search software for a need

Searches the HODDS catalogue of software, SaaS, APIs and online services, organised by business process, for records that match a need written in English or French (for example "transcribe my meetings" or "automatiser mes workflows"). Returns a request_id, a status and up to `limit` options; each option has an id, a label, a short description and source URLs (provenance). Ranking combines lexical matching on record names, keywords and processes with semantic similarity (multilingual embeddings on Cloudflare Workers AI), or lexical matching alone when the semantic part is unavailable; ownership or sponsorship never changes it. Confidence is always UNKNOWN: records are non-attested facts taken from publishers' public pages. Status NO_MATCH with an empty option list means that no record matches the need closely enough, or that the need belongs to a process with no record yet; results are never padded. Read-only.

Parameterslangneedrequiredlimitprocess

get_solution

Get a catalogue record

Returns one HODDS catalogue record by id (an option id returned by search_solutions): name, homepage, summary in English and French, processes (the first is primary), keywords, pricing models without amounts (empty means unknown) with the pricing page, interfaces (public API, MCP server, self-hosting: yes, no or unknown), markets, publisher, dated sources and status. Status non_attested means the publisher has not confirmed the record; unknown values are stated as unknown. Read-only.

Parametersidrequired

list_processes

List processes

Returns the HODDS process taxonomy: groups (for example "Run the business") and processes (for example "invoice-and-get-paid"), with English and French labels and the number of catalogue records per process. A process id is accepted as the `process` filter of search_solutions. Read-only.

Takes no parameters.

send_feedback

Report an outcome

Stores a declarative outcome report for an option returned by search_solutions: outcome YES (the option met the need), PARTLY or NO, with the request_id and the option id exactly as returned. It is the only HODDS tool that writes data without a token; the watch tools (watch_need and the others) write only with an organisation token. The report is stored as an unverified caller statement and never changes ranking by itself; the same report sent twice is stored once. When feedback storage is unavailable on the deployment, the tool returns an error and stores nothing.

Parametersoutcomerequiredoption_idrequiredrequest_idrequired

watch_need

Watch a need

Opens a watch on a need for the organisation of the token: constraints and software by id or name (any process). CATEGORY follows a process. Returns the watch, initially not_computed; public rules produce a challenger and switch brief. Alerts arrive on following calls; unknown constraints stay uninterpreted. The FREE plan follows one active watch per organisation. Error codes beyond the free watch: free_watch_used (no paid plan; destination = Stripe Checkout), plan_ending (the paid plan is stopped: no new paid watch; destination = the Plan page /my/plan), in _meta["ai.hodds/error"]. Price: search is free; 1 watched solution free, then €0.50 per watched solution per month, €2 monthly minimum (excl. VAT); a 409 with destination is resolved by a person who opens that URL. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parameterslangneedlevelcontextprocessdeliveryalert_budgetcurrent_choicecurrent_choice_name

get_watch

Read a watch

Returns one watch of the organisation: constraints, solution in place, challenger with its switch brief and HODDS status, challenger_reason when there is none, and the 50 most recent alerts, unacknowledged first (all: true for 200). Reading does not acknowledge. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parametersallwatch_idrequired

list_watches

List watches

Lists the watches of the organisation with their challenger and number of pending alerts; include_closed adds the watches closed in the last 30 days. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parametersinclude_closed

set_current_choice

Change the solution in place

Sets a solution by id or free name (any process), null clears. Returns the watch; challenger recomputed later. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parameterswatch_idrequiredcurrent_choicecurrent_choice_name

ack_alerts

Acknowledge alerts

Acknowledges alerts of one watch (alert_ids, or all: true for every alert of this watch); the only call that empties the pending delivery. Returns the number acknowledged and the number remaining for the organisation; a replay changes nothing. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parametersallwatch_idrequiredalert_ids

rate_alert

Rate an alert

Marks one alert relevant or not_relevant, with an optional note of at most 500 characters. It never changes ranking. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parametersnoteratingrequiredalert_idrequiredwatch_idrequired

unwatch_need

Close a watch

Closes a watch; its need, constraints and alerts are erased 30 days after closing. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parameterswatch_idrequired

get_creator_plan

Read the creator plan

Returns the demand data subscription of the organisation of the token: plan NONE or SUBSCRIBED, subscribed processes, pending removals, the coming invoice, payment provider and invoices. €10 excl. VAT per process per month, invoiced by VORAN, paid through Stripe; no effect on ranking. Contract 0.3.1. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Takes no parameters.

set_creator_processes

Set the subscribed processes

Replaces the list of subscribed processes. Without an active subscription the result has status 402 and a Stripe Checkout destination for a person to open. With one, an addition through this tool also answers status 402 with the Plan page as destination: nothing is charged here, only the page charges, after a person confirms it. Removals apply at once and the removed processes stay readable until the end of the paid period. An empty list is refused (empty_selection): use cancel_creator_plan. Contract 0.3.1. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parametersprocessesrequired

list_gaps

Read the demand data of a process

Returns, for a subscribed process, the gaps formulated by HODDS and the client aggregates above the anonymity threshold (watched needs, organisations watching, NO_MATCH, current choices, constraints, challengers delivered, GAP_RESOLVED). No need text, no organisation, no agent. Contract 0.3.1. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Parametersprocessrequired

cancel_creator_plan

Stop the creator plan

Stops the subscription at the end of the paid period. Listings, claims, declarations and ranking are unchanged; the coarse demand table stays free. Contract 0.3.1. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Takes no parameters.

get_plan

Read the My ways plan

Returns the plan of the organisation of the token: FREE, PAID, PAST_DUE, ENDING or ENDED; watched solutions billed in the current Stripe period, the coming invoice, the payment provider and the invoices. 1 watched solution free, then €0.50 per watched solution per month, €2 monthly minimum (excl. VAT), invoiced by VORAN, paid through Stripe. A paid watch is billed for a period when it is active at least one day of it, whatever the number of agents that read it. Contract 0.4.0. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Takes no parameters.

cancel_plan

Stop the My ways plan

Stops the paid plan at the end of the Stripe period. Then the paid watches are CLOSED and stay readable 30 days; the free watch and the agent tokens are unchanged. Without a paid plan the tool answers not_paid. Contract 0.4.0. Needs an organisation token (Authorization: Bearer hodds_...); without it the tool returns the error token_required.

Takes no parameters.

compare_solutions

Compare solutions for a need

Compare 2–3 catalogue IDs by required capabilities, offer, context and dated sources. Unknown/stale/conflict stay explicit; unknown price is never zero. Discover IDs at /api/capabilities and details at /api/solutions/{id}/specification. Costs require all assumptions. Large result: repeat arguments with view; restart on 409. Public read, no billing/business writes; one call per POST.

Parametersviewlocalecontextcriteriapriorityrequirementssolution_idsrequiredcost_scenariopriority_required

find_comparable_solutions

Find alternatives for a priority

Find alternatives by required priority, optionally relative to one solution. IDs/context: /api/capabilities. A match satisfies every requirement in one configuration. Evaluates the whole pilot before limit, separating match/unresolved/mismatch and stating catalogue coverage, not market coverage. Large result: repeat arguments with view; restart on 409. Public read, no billing/business writes; one call per POST.

Parametersviewlimitlocalecontextcriteriapriorityrequiredreference_idrequirementscost_scenario

Version history

1
  1. v0.4.0LatestOct 26, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.