Skip to content

DinOdds & AI ​

With DinOdds 1.7.0 you can build odds tables from an AI chat. Ask Claude or ChatGPT something like "which leagues have games this week?" or "add the NFL odds table to a new draft called Week 9 picks", and it does the work on your website for you.

This page explains how to set that up. If you are a developer using a coding tool such as Claude Code, skip to Coding agents and developer tools.


Manage your website from a chat with an AI agent ​

How it works ​

An AI assistant doesn't log in to your dashboard and click around like you do. Instead, your website gives it a list of specific tasks it is allowed to do, such as "list leagues", "insert an odds block" or "update a sportsbook". WordPress calls these tasks abilities.

To make this work you need three things:

  1. DinOdds provides the abilities for odds data, odds blocks, display settings, sportsbooks and the feed. You choose which ones to offer on the DinOdds → AI & Abilities tab.
  2. "MCP Adapter", a free plugin, lets AI apps connect to your website and use those abilities.
  3. "Enable Abilities for MCP", a free plugin, adds the sign-in. When you connect a chat app, you log in to your WordPress website and approve the connection, much like "Sign in with Google" on other websites.

The assistant then works as the WordPress user you signed in with. If that user isn't allowed to do something, the assistant can't do it either.

WARNING

AI abilities need WordPress 6.9 or newer. On older versions the AI & Abilities tab shows a notice; update WordPress to use them. The rest of DinOdds works on WordPress 6.0 and newer.

Your website must also be online and use HTTPS, because the chat app connects to it over the internet. A local website, or a staging website behind a password, won't work.

Set it up ​

  1. Install the plugins. Go to DinOdds → AI & Abilities. The Requirements box at the top shows whether WordPress 6.9, MCP Adapter and the chat app sign-in are ready, with the MCP endpoint address once MCP Adapter is active.
  2. Choose what the assistant can do. On the same tab, tick Enable abilities, then tick the groups you want and click Save changes. The default groups let the assistant read odds data, build and insert odds blocks in drafts and change the display defaults, but not touch your affiliate links or refresh the feed.
  3. Turn on sign-in. Go to Settings → WP Abilities, open the Connection tab and turn on the OAuth connector.
  4. Connect your chat app. In your chat app, add a custom connector and paste your website address. You'll be sent to your WordPress login page: sign in and approve.
  5. Try it. Start a new chat, make sure the connector is switched on for it, and ask "list my leagues".

Where to add a custom connector depends on the app. Menu names change often, so treat these as a guide:

AppWhere
ClaudeSettings → Connectors → Add custom connector
ChatGPTTurn on Developer Mode in Settings → Apps & Connectors → Advanced settings, then create a connector with your website address and OAuth sign-in. Paid plans only, at the time of writing.

TIP

"Enable Abilities for MCP" also comes with its own abilities for posts, pages, media and more. DinOdds doesn't need them, so turn on only the ones you want on its Abilities tab.

The AI & Abilities tab ​

Requirements tells you whether everything is ready. A green mark means that part is fine; otherwise you see what's missing, usually with a button or link to fix it.

  • MCP Adapter and Chat app sign-in (OAuth) show whether the two plugins are active.
  • DinOdds abilities shows how many abilities are currently offered, and from how many groups. It reads Off while the main switch is off.
  • Abilities that "Enable Abilities for MCP" has switched off on its own screen are marked as turned off there. Turn them back on there if you want to use them.

Ability groups starts with the main switch, Enable abilities. It is off by default, and while it's off, DinOdds registers nothing, whatever the groups below say. Below it, related abilities are grouped together, each with a description, who can use it and whether it is on by default.

Individual abilities (advanced) lets you switch off a single ability inside a group you turned on. For example, you can let the assistant read odds data but not insert blocks into drafts.

Ability groups ​

"Who can use it" means which WordPress users the assistant can sign in as to use that group.

GroupWhat it can doAbilitiesWho can use itDefault
Odds data (read)List leagues, sportsbooks and upcoming games, read cached odds and check the feed statusdinodds/list-leagues, dinodds/list-bookies, dinodds/list-games, dinodds/get-odds, dinodds/get-feed-statusUsers who can edit posts (Author and up)On
Content (drafts only)Build odds blocks, insert them into draft posts, find where odds are used and change the settings of an odds block or shortcodedinodds/build-odds-block, dinodds/insert-odds-block, dinodds/find-odds-usage, dinodds/update-odds-blockUsers who can edit the specific post (new drafts need permission to edit posts)On
Display settingsRead and change the site-wide display defaultsdinodds/get-display-settings, dinodds/update-display-settingsAdministratorsOn
Sportsbooks (affiliate links)Read and change sportsbook logos, affiliate links and link behaviour, and reorder themdinodds/get-sportsbooks, dinodds/update-sportsbook, dinodds/reorder-sportsbooksAdministratorsOff
Feed refreshFetch fresh odds from the feed nowdinodds/refresh-feedAdministratorsOff

The 15 abilities ​

AbilityWhat it does
dinodds/list-leaguesLists the leagues in your feed with the number of upcoming matches in each.
dinodds/list-bookiesLists the sportsbooks in display order, with name and whether an affiliate link is set. The link itself is only included for administrators when the Sportsbooks group is on.
dinodds/list-gamesLists the upcoming games of a league (teams, date and time in US Eastern).
dinodds/get-oddsReturns the cached prices of a league's upcoming games per sportsbook, optionally for one game and one odds type. For reading and analysis only.
dinodds/get-feed-statusReturns the feed status, when it was last and will next be updated, the last error and matches per league.
dinodds/build-odds-blockChecks table settings (league, teams, sportsbooks) and returns the block markup and the equivalent [odds] shortcode. Changes nothing.
dinodds/insert-odds-blockInserts an odds block (or shortcode) into a draft or pending post, or creates a new draft.
dinodds/find-odds-usageLists up to 20 posts and pages that contain an odds block or shortcode, with each one's settings. Only posts the user can edit are listed.
dinodds/update-odds-blockChanges the settings of an odds block or shortcode in a draft or pending post. Settings it doesn't manage, such as alignment and the CSS class, are kept, and it also works when the game has already started.
dinodds/get-display-settingsReturns the site-wide display defaults.
dinodds/update-display-settingsChanges the site-wide display defaults. Only the fields you send change.
dinodds/get-sportsbooksReturns every sportsbook with its logo, affiliate link and link behaviour.
dinodds/update-sportsbookChanges one sportsbook's logo, affiliate link, link target, sponsored flag and rel.
dinodds/reorder-sportsbooksSets the order the sportsbooks are shown in.
dinodds/refresh-feedFetches fresh odds now, the same update that runs hourly.

Keeping it safe ​

  • Use a separate WordPress user for the assistant, with the Editor role, instead of your own Administrator account. Administrator-only groups (display, sportsbooks, feed) then won't work for it, which is a good default.
  • Start with the default groups and turn on more only when you need them. The main switch is off until you turn it on, and an update never turns it on for you.
  • Drafts only. New odds blocks go into drafts or pending posts. Published, scheduled and private posts are never changed by an ability, so you still review and publish yourself.
  • Nothing is deleted. There are no abilities that delete anything.
  • Odds stay live. Assistants are told to insert the block or shortcode, not to paste prices, so the table updates itself as the odds change.
  • Your Client ID stays private. No ability returns your Client ID, license or update information, or the raw feed response.
  • Affiliate links are sensitive. They decide where visitors go and who earns the commission, which is why the Sportsbooks group is off by default. Turn it on only when you want an assistant to manage them, and check what it changed.
  • Refreshing is rate-limited. The feed can be refreshed by an assistant once every 5 minutes at most, and the limit is shared with Update now on the Overview tab.
  • Ask to see changes first, especially for bulk edits: "show me the changes before saving".

Things you can ask ​

  • "Which leagues have upcoming games right now?"
  • "What are the NFL games this week, and which sportsbooks have a spread for Buffalo Bills at Houston Texans?"
  • "Add the NFL odds table to a new draft called Week 9 picks."
  • "Add a single-match odds table for Buffalo Bills at Houston Texans after the heading Game preview in the draft post name."
  • "Where do I use odds tables? Which of them use style 2?"
  • "Change the odds table in the draft post name to show only MyBookie and BetOnline."
  • "Switch my default odds type to moneyline."
  • "Is my feed up to date?"

If the Sportsbooks group is on:

  • "Which sportsbooks don't have an affiliate link yet?"
  • "Move BetUS to the top of the list."

Coding agents and developer tools ​

Tools such as Claude Code, Codex or Cursor don't need the chat-app sign-in, so "Enable Abilities for MCP" isn't required. You still turn on the abilities in DinOdds → AI & Abilities.

MCP over HTTP ​

Needs the "MCP Adapter" plugin and a WordPress Application Password (Users → Profile). The @automattic/mcp-wordpress-remote proxy connects to the endpoint. For Claude Code:

bash
claude mcp add wordpress \
  --env WP_API_URL=https://example.com/wp-json/mcp/mcp-adapter-default-server \
  --env WP_API_USERNAME=your-user \
  --env WP_API_PASSWORD="xxxx xxxx xxxx xxxx xxxx xxxx" \
  -- npx -y @automattic/mcp-wordpress-remote@latest

MCP over WP-CLI ​

On a local site, or over SSH, you can skip HTTP and run the MCP server through WP-CLI (STDIO):

bash
wp mcp-adapter list
wp mcp-adapter serve --server=mcp-adapter-default-server --user=admin

WordPress REST API ​

Abilities with REST enabled are also listed by WordPress itself at /wp-json/wp-abilities/v1/abilities. DinOdds' abilities are in the dinodds category. This is separate from the public odds REST endpoint.


AI writing helpers in the editor ​

The official WordPress AI plugin adds writing helpers inside the Block Editor, such as titles, excerpts and alt text. It works alongside DinOdds and is a different thing from managing your website from a chat assistant.