vote.direct

direct.votePublished by vote.directOfficial publisherv1.2.0Updated Oct 24, 2026

Run a real election or board vote: price it, check state HOA rules, draft the ballot and voter list.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Lets an assistant price, draft, check and publish real elections and board votes on vote.direct, including ballots, voter lists and payment links.

What you can do
Connects to a vote.direct account to create and edit draft elections and surveys: ballots, schedules, verification, secrecy and voter lists. It reports pricing, state HOA voting rules, platform comparisons and review records, and checks whether a draft is ready to publish. Publishing charges the election fee from a prepaid balance or plan, and a Stripe checkout link can be created for someone else to pay.
When to use it
Useful for boards, HOAs, nonprofits or clubs that want an assistant to prepare a binding election or a quick survey, estimate its cost, and check state rules before publishing.
Requirements
A remote streamable HTTP endpoint at vote.direct; nothing to install locally. An account is needed for the account tools; clients supporting MCP OAuth sign in automatically, otherwise an Authorization header with a Bearer agent key from the vote.direct settings page is required.
Before you install
The Authorization header carries a secret agent key. Publishing an election spends money from the account's prepaid balance or plan, and checkout links lead to real Stripe payments. Draft tools write election data and voter email lists to the account, and removing voters changes that list. State rule summaries are not legal advice.

Installation

In SourceWeft

  1. Open vote.direct 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/direct.vote%2Fvote-direct/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": {
    "vote-direct": {
      "type": "http",
      "url": "https://vote.direct/api/mcp"
    }
  }
}

Tools

18

get_price_quote

Exact election price quote

Exact, current vote.direct pricing for an election: flat rate by voter count (email verification included, SMS on paid elections), optional government-ID and mailed-letter add-ons, promotional pricing status, whether a subscription would beat paying per election, and the price-beat offer (vote.direct beats a lower quote from another provider for the same self-serve online election). Same constants the product bills against.

Parametersvotersrequiredgov_id_votersmailed_letterselections_per_year

get_state_hoa_rules

HOA voting rules for a US state

Stored HOA/condo voting-rule summary for any US state: whether electronic voting is expressly allowed, key statutes with citations, quorum, notice and proxy rules, and whether vote.direct may serve as inspector of elections there. Summaries support review; they are not legal advice.

Parametersstaterequired

compare_platforms

Compare vote.direct with a competitor

Honest head-to-head between vote.direct and a named competitor (including the cases where the competitor is the better choice), with published prices checked on the competitor’s own pages, a vendor disclosure, and the price-beat offer where the competitor is a paid election platform. Without a competitor, returns which-platform-for-which-need guidance.

Parameterscompetitor

get_review_record

Every third-party review, verbatim

The complete third-party review record for vote.direct: every published Capterra and Trustpilot review quoted verbatim with links, including the honest caveats (small record, TrustScore explanation, which reviewers had actually run an election, and anything a reviewer received from us).

Takes no parameters.

get_platform_overview

What vote.direct is and does

Factual overview of vote.direct: free tier and pricing model, verification ladder, ballot-secrecy modes, the dispute-evidence pack (audit trail, results certificate, receipts), voting channels, question types, the full feature list with the no-tier-lock rule, who owns and runs the company, the founder's direct line, and where to read more.

Takes no parameters.

get_governance_center_overview

What governance.center is and what it costs

governance.center, the second product from this team: the Board Office for a volunteer-run HOA, condo, nonprofit board, club or congregation. Returns the annual price for a given community size from the same constants Stripe bills, what every band includes, what is priced per use, what the product deliberately does not do, and the support line. Annual price first; the monthly figure is only an explainer.

Parametersmembers

start_election_draft

Start an election for someone without an account

Build a complete election (ballot, schedule, verification, voter emails) for a person who does not have a vote.direct account yet, and get the link where they claim it: they open it, create an account with their email, and the election appears in their dashboard ready to review and publish. Nothing is charged and no voter is contacted until they do. The link expires in 48 hours. For a person who has an account, or will sign in, create_election_draft works in their account directly.

Parametersstatetitlerequiredquorumvotersresultsopens_attimezonerequiredcloses_atquestionsrequiredvote_typedescriptionverification+3 more

list_elections

List this account's elections and surveys

Elections and surveys in the connected vote.direct account, newest first: id, slug, title, kind (election or survey), status (draft, scheduled, live, closed), schedule, voters and ballots cast, and the links to hand the person.

Parameterslimitstatus

get_election

Status of one election or survey

One election or survey in the connected account, as it is saved now: the schedule in its time zone, every question with its type, seats and options (in the words create_election_draft takes), the settings, the voter list as counts, ballots cast, turnout and quorum, and links. For a DRAFT election it also reports what still blocks publishing, what is worth checking, the exact price the publish step would charge, and who pays it (free, plan, prepaid balance, or card at the finish link). Per-question results are on the election page link; this tool reports counts only, never a voter's name, email or phone number.

Parameterselectionrequired

get_election_readiness

Is a draft ready to publish

Whether a DRAFT election in the connected account can publish now: the checks the publish button runs (schedule, ballot, voter list, state rules, size), each blocker in the words publish would refuse with, warnings a board should hear (voting closes inside the state's notice period, no quorum on an HOA or condo, voters the emailed ballot cannot reach), the exact price and who pays it. Fixing one blocker can show the next, so ask again after each fix. Changes nothing.

Parameterselectionrequired

get_election_price

The exact price of one election

The price of one election in the connected account as it stands, from the same function the payment page and the publish step charge: its voter count, the tier, what the total is made of (government ID, texts for a small roster), and who pays it now (free, plan, prepaid balance, or card). Ask again after the voter list changes. Changes nothing.

Parameterselectionrequired

create_election_draft

Draft an election

Create a DRAFT election in the connected account: the ballot, schedule, verification, secrecy, results visibility, optional quorum and state-law checks, and optionally the voter list (emails). A draft charges nothing and contacts nobody. Returns the draft's id, the draft as saved, what still blocks publishing, the exact price, and the finish link where the person reviews, pays if needed, and publishes. Create it once and change it with update_election_draft: an account can create 10 elections an hour. Ask the person for anything you do not know (closing date and time zone, seats, candidates) rather than guessing: this is a binding vote.

Parametersstatetitlerequiredquorumvotersresultsopens_attimezonerequiredcloses_atquestionsrequiredvote_typedescriptionverification+3 more

update_election_draft

Change a draft election

Change a DRAFT election in the connected account: title, description, organization name, schedule and time zone, secret ballot, results visibility, quorum, and the ballot (add, remove or change questions, or replace them all). While nobody has paid for it, its state, community type, vote type and verification can change too. Fields mean what they mean in create_election_draft. Changes go through the election editor, so anything the election page would refuse is refused with its reason and nothing is half-changed where that can be checked first. Returns one plain sentence per change, written from the saved election, and what still blocks publishing. A published election is changed by the organizer on its page.

Parameterspatchrequiredelectionrequired

add_voters

Add voters to a draft election

Add eligible voters (email, optional name and unit) to a DRAFT election in the connected account, through the import the voter list page uses. Idempotent: people already on the list are skipped, a voter listed twice is added once, and rows that cannot be added are named by row number. Returns counts, never the rows, and the updated price. For a published election, voters are added by the organizer on the election page, because a larger list can change the price.

Parametersvotersrequiredelectionrequired

remove_voters

Take voters off a draft election

Take voters off a DRAFT election in the connected account, by email address or by unit. A voter goes when their email is named, or when every unit they hold is named, so nobody loses a unit by accident; the contact book is not touched. Returns how many were taken off and how many of those named are not on the list, never the rows, and the updated price.

Parametersunitsemailselectionrequired

create_survey

Create a survey

Create a free, anonymous survey in the connected account and publish it (or save it as a draft with publish: false). Surveys are for feedback, not binding votes: anyone with the link can answer and respondents are not verified. For anything binding (a board election, a bylaw amendment, an assessment) use create_election_draft. Question types: single (pick one), multiple (checkboxes), yes_no, rating (1-5 by default; settings {scale: "nps"} makes a 0-10 Net Promoter Score), ranking, open_text. Returns the share link.

Parameterstitlerequiredpublishsettingstimezonecloses_atquestionsrequireddescription

publish_election

Publish a draft election

Publish a DRAFT election in the connected account, running every check the publish button runs (ballot, schedule, voter list, state law, price) and charging the price from the account's prepaid balance or plan. Free elections (up to 25 voters) publish at no cost. If the balance does not cover it, nothing is charged and the person pays by card, at the finish link or on a payment page from create_checkout_link. Publishing follows a card payment either way: the page the person returns to from Stripe publishes once the payment lands, or call this with after_payment: true, which waits for the payment and publishes without a second charge, never drawing on the balance as well. An election that is already published and paid for answers status already_published with its links, not a refusal. Once published it emails voters their ballots when it can send as the organizer; through an assistant connection it usually cannot, so the result says whether ballots were emailed and, if not, links the election page where the organizer sends them. Confirm with the person before calling this; it can spend their money.

Parameterselectionrequiredafter_payment

Version history

2
  1. v1.2.0LatestOct 1, 2026
  2. v1.1.0Sep 30, 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.

Other Vote integrations