vote.direct
Ce que fait ce MCP
Creates and manages elections and surveys, voter lists, ballots, publishing workflows, pricing, and state-specific HOA voting rule references.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['election', 'voters'], 'properties': {'voters': {'type': 'array', 'items': {'type': 'object', 'required': ['email'], 'properties': {'name': {'type': 'string', 'description': 'Owner or member name, shown on the roster.'}, 'unit': {'type': 'string', 'description': 'Unit, lot or address label, e.g. "Unit 4B".'}, 'email': {'type': 'string', 'format': 'email'}}}, 'maxItems': 2000, 'description': 'The eligible voters (the roster), one per owner/member. Email addresses only; people reached by text or mail are added by the organizer on the election page.'}, 'election': {'type': 'string', 'description': "The draft's id or slug."}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'competitor': {'enum': ['electionbuddy', 'opavote', 'simply-voting', 'vote-hoa-now', 'hoaballot', 'associationvoting', 'surveymonkey', 'google-forms', 'helios-voting', 'paper-ballots'], 'type': 'string', 'description': 'Competitor to compare against (optional)'}}}
Schéma d’entrée
{'type': 'object', 'required': ['title', 'questions', 'closes_at', 'timezone'], 'properties': {'state': {'type': 'string', 'description': "Two-letter US state code of the association (e.g. CA). Turns on that state's election-law checks before publishing."}, 'title': {'type': 'string', 'description': 'Election title voters see, e.g. "2026 Board of Directors Election".'}, 'quorum': {'type': 'object', 'required': ['type', 'threshold'], 'properties': {'type': {'enum': ['percentage', 'count'], 'type': 'string'}, 'threshold': {'type': 'integer', 'minimum': 1}}, 'description': 'Optional quorum: {type: "percentage" | "count", threshold}. E.g. {type: "percentage", threshold: 25} means a quarter of eligible voters must vote.'}, 'voters': {'type': 'array', 'items': {'type': 'object', 'required': ['email'], 'properties': {'name': {'type': 'string', 'description': 'Owner or member name, shown on the roster.'}, 'unit': {'type': 'string', 'description': 'Unit, lot or address label, e.g. "Unit 4B".'}, 'email': {'type': 'string', 'format': 'email'}}}, 'maxItems': 2000, 'description': 'The eligible voters (the roster), one per owner/member. Email addresses only; people reached by text or mail are added by the organizer on the election page.'}, 'results': {'enum': ['after_close', 'live', 'owner_only'], 'type': 'string', 'description': 'after_close (default): voters see results once voting closes. live: running totals while voting is open. owner_only: only the organizer sees results.'}, 'opens_at': {'type': 'string', 'format': 'date-time', 'description': 'When voting opens, ISO 8601 with offset. Omit to open when published.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone of the association, e.g. America/Denver. Voters see times in it.'}, 'closes_at': {'type': 'string', 'format': 'date-time', 'description': 'When voting closes, ISO 8601 with offset, e.g. 2026-11-12T17:00:00-07:00. Must be in the future.'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'type'], 'properties': {'text': {'type': 'string', 'description': 'The question or race, e.g. "Elect three directors".'}, 'type': {'enum': ['single_choice', 'multiple_choice', 'yes_no', 'ranked_choice', 'approval', 'cumulative', 'open_text'], 'type': 'string', 'description': 'single_choice: pick one. multiple_choice: pick up to `seats` (a multi-seat board race). yes_no: approve or reject a motion (Yes/No options are added automatically). ranked_choice: rank candidates; instant runoff for one seat, single transferable vote when seats > 1. approval: approve any number of candidates. cumulative: each voter spreads `seats` votes (minimum 2) across candidates, used where bylaws require cumulative voting. open_text: a written answer.'}, 'seats': {'type': 'integer', 'minimum': 1, 'description': 'How many winners (board seats). multiple_choice: the "vote for up to N" limit. ranked_choice/approval/cumulative: seats to fill.'}, 'options': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}, 'description': {'type': 'string'}}}]}, 'description': 'Candidates or choices; required (at least 2) for every type except yes_no and open_text. A string, or {text, description} to include a candidate statement.'}, 'required': {'type': 'boolean', 'description': 'Whether a voter must answer. Defaults to true, except open_text.'}, 'description': {'type': 'string', 'description': 'Optional help text under the question.'}, 'allow_write_in': {'type': 'boolean', 'description': 'Let voters write in one candidate (single_choice, multiple_choice, approval, cumulative).'}, 'include_abstain': {'type': 'boolean', 'description': 'Add an "Abstain" choice that counts toward turnout but never wins (yes_no, single_choice, multiple_choice, approval).'}}}, 'minItems': 1, 'description': 'The ballot, in order.'}, 'vote_type': {'enum': ['board_election', 'budget', 'amendment', 'resolution', 'custom'], 'type': 'string', 'description': 'What the vote decides, for the state-law checks.'}, 'description': {'type': 'string', 'description': 'Optional instructions or background shown above the ballot. Plain text.'}, 'verification': {'enum': ['email', 'email_or_sms'], 'type': 'string', 'description': 'email: every voter confirms a code sent to their email (included free). email_or_sms: voters may also confirm by text message (paid elections only; elections of 25 voters or fewer are email-only).'}, 'secret_ballot': {'type': 'boolean', 'description': 'Keep who voted for what private from the organizer. Defaults to true.'}, 'community_type': {'enum': ['hoa', 'condo'], 'type': 'string', 'description': 'hoa or condo, when the state rules differ between them.'}, 'organization_name': {'type': 'string', 'description': "Association name shown to voters and used as the email sender name. Defaults to the account's organization."}}}
Schéma d’entrée
{'type': 'object', 'required': ['title', 'questions'], 'properties': {'title': {'type': 'string'}, 'publish': {'type': 'boolean', 'description': 'Publish now (default true) or save a draft.'}, 'settings': {'type': 'object', 'description': 'Optional: showResultsDuring, showResultsAfter, requireAllQuestions, collectEmail, collectName.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone for the close time. Defaults to UTC.'}, 'closes_at': {'type': 'string', 'format': 'date-time', 'description': 'Optional close time, ISO 8601.'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'text'], 'properties': {'text': {'type': 'string'}, 'type': {'enum': ['single', 'multiple', 'yes_no', 'rating', 'ranking', 'open_text'], 'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}, 'description': 'Required (at least 2) for single, multiple and ranking.'}, 'required': {'type': 'boolean'}, 'settings': {'type': 'object', 'description': 'Optional: minRating/maxRating/ratingLabels for rating, scale "nps", variant "short"|"email"|"number"|"date"|"phone" for open_text, allowWriteIn for single/multiple, maxSelections for multiple.'}, 'description': {'type': 'string'}}}, 'minItems': 1}, 'description': {'type': 'string'}}}
Schéma d’entrée
{'type': 'object', 'required': ['election'], 'properties': {'election': {'type': 'string', 'description': "The election's id or slug, from list_elections or create_election_draft."}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'members': {'type': 'integer', 'minimum': 1, 'description': 'How many members, owners or units the community has. Returns the band that covers them.'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['voters'], 'properties': {'voters': {'type': 'integer', 'minimum': 1, 'description': 'How many voters will be invited'}, 'gov_id_voters': {'type': 'integer', 'minimum': 0, 'description': 'Voters needing assisted government-ID verification (optional)'}, 'mailed_letters': {'type': 'integer', 'minimum': 0, 'description': 'Mailed access letters to send (optional)'}, 'elections_per_year': {'type': 'integer', 'minimum': 1, 'description': 'If provided, compares per-election cost against subscriptions'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}}
Schéma d’entrée
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'string', 'description': 'State name, two-letter abbreviation, or slug (e.g. "Texas", "TX", "texas")'}}}
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'How many to return. Defaults to 20.'}, 'status': {'enum': ['draft', 'scheduled', 'live', 'closed', 'all'], 'type': 'string', 'description': 'Only this status. Defaults to all.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['election'], 'properties': {'election': {'type': 'string', 'description': "The election's id or slug, from list_elections or create_election_draft."}}}
Schéma d’entrée
{'type': 'object', 'required': ['title', 'questions', 'closes_at', 'timezone'], 'properties': {'state': {'type': 'string', 'description': "Two-letter US state code of the association (e.g. CA). Turns on that state's election-law checks before publishing."}, 'title': {'type': 'string', 'description': 'Election title voters see, e.g. "2026 Board of Directors Election".'}, 'quorum': {'type': 'object', 'required': ['type', 'threshold'], 'properties': {'type': {'enum': ['percentage', 'count'], 'type': 'string'}, 'threshold': {'type': 'integer', 'minimum': 1}}, 'description': 'Optional quorum: {type: "percentage" | "count", threshold}. E.g. {type: "percentage", threshold: 25} means a quarter of eligible voters must vote.'}, 'voters': {'type': 'array', 'items': {'type': 'object', 'required': ['email'], 'properties': {'name': {'type': 'string', 'description': 'Owner or member name, shown on the roster.'}, 'unit': {'type': 'string', 'description': 'Unit, lot or address label, e.g. "Unit 4B".'}, 'email': {'type': 'string', 'format': 'email'}}}, 'maxItems': 2000, 'description': 'The eligible voters (the roster), one per owner/member. Email addresses only; people reached by text or mail are added by the organizer on the election page.'}, 'results': {'enum': ['after_close', 'live', 'owner_only'], 'type': 'string', 'description': 'after_close (default): voters see results once voting closes. live: running totals while voting is open. owner_only: only the organizer sees results.'}, 'opens_at': {'type': 'string', 'format': 'date-time', 'description': 'When voting opens, ISO 8601 with offset. Omit to open when published.'}, 'timezone': {'type': 'string', 'description': 'IANA timezone of the association, e.g. America/Denver. Voters see times in it.'}, 'closes_at': {'type': 'string', 'format': 'date-time', 'description': 'When voting closes, ISO 8601 with offset, e.g. 2026-11-12T17:00:00-07:00. Must be in the future.'}, 'questions': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'type'], 'properties': {'text': {'type': 'string', 'description': 'The question or race, e.g. "Elect three directors".'}, 'type': {'enum': ['single_choice', 'multiple_choice', 'yes_no', 'ranked_choice', 'approval', 'cumulative', 'open_text'], 'type': 'string', 'description': 'single_choice: pick one. multiple_choice: pick up to `seats` (a multi-seat board race). yes_no: approve or reject a motion (Yes/No options are added automatically). ranked_choice: rank candidates; instant runoff for one seat, single transferable vote when seats > 1. approval: approve any number of candidates. cumulative: each voter spreads `seats` votes (minimum 2) across candidates, used where bylaws require cumulative voting. open_text: a written answer.'}, 'seats': {'type': 'integer', 'minimum': 1, 'description': 'How many winners (board seats). multiple_choice: the "vote for up to N" limit. ranked_choice/approval/cumulative: seats to fill.'}, 'options': {'type': 'array', 'items': {'oneOf': [{'type': 'string'}, {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}, 'description': {'type': 'string'}}}]}, 'description': 'Candidates or choices; required (at least 2) for every type except yes_no and open_text. A string, or {text, description} to include a candidate statement.'}, 'required': {'type': 'boolean', 'description': 'Whether a voter must answer. Defaults to true, except open_text.'}, 'description': {'type': 'string', 'description': 'Optional help text under the question.'}, 'allow_write_in': {'type': 'boolean', 'description': 'Let voters write in one candidate (single_choice, multiple_choice, approval, cumulative).'}, 'include_abstain': {'type': 'boolean', 'description': 'Add an "Abstain" choice that counts toward turnout but never wins (yes_no, single_choice, multiple_choice, approval).'}}}, 'minItems': 1, 'description': 'The ballot, in order.'}, 'vote_type': {'enum': ['board_election', 'budget', 'amendment', 'resolution', 'custom'], 'type': 'string', 'description': 'What the vote decides, for the state-law checks.'}, 'description': {'type': 'string', 'description': 'Optional instructions or background shown above the ballot. Plain text.'}, 'verification': {'enum': ['email', 'email_or_sms'], 'type': 'string', 'description': 'email: every voter confirms a code sent to their email (included free). email_or_sms: voters may also confirm by text message (paid elections only; elections of 25 voters or fewer are email-only).'}, 'secret_ballot': {'type': 'boolean', 'description': 'Keep who voted for what private from the organizer. Defaults to true.'}, 'community_type': {'enum': ['hoa', 'condo'], 'type': 'string', 'description': 'hoa or condo, when the state rules differ between them.'}, 'organization_name': {'type': 'string', 'description': "Association name shown to voters and used as the email sender name. Defaults to the account's organization."}}}
Modifications récentes des outils
Serveurs MCP similaires
BeeL
Provides Spanish company administration and VeriFactu-compliant invoicing, including customers, products, invoice issuance, corre…
corply
Supports company formation and corporate administration including incorporation documents, signatures, cap tables, corporate acti…
FalaZuki Finance BR
Provides Brazil-focused financial calculations and rules for investments, credit, taxes, payroll, labor costs, debt, budgeting, a…
XBOSS
Accesses Korean tax, social insurance, payroll, cash receipt, e-tax invoice, and certificate filing services.
Sirenic
Provides European company registry, financial, procurement, sanctions, regulatory, insolvency, ownership, and ongoing due-diligen…
Xearno Tools
Provides financial, tax, employment-benefit, lending, pricing, and business calculators using jurisdiction-specific rules and cur…
schedule-iii
Transforms Indian company trial balances into controlled Schedule III financial statement workbooks with account mappings, disclo…
editalmd
Searches Brazilian public procurement opportunities and documents, tracks deadlines and alerts, and supports tender document acce…