How to Use the vote.direct MCP in LangChain
Build complex election pipelines using the LangChain framework.
Works with every AI agent you already use
…and any MCP-compatible client
Connect vote.direct MCP to LangChain
Create your Vinkius account to connect vote.direct to LangChain and route execution through our secure gateway. The platform manages server hosting, runtime updates, and security layers. Configuration requires no manual server provisioning.
Agent-Driven Election Audits
The `get_polling_locations` tool finds polling places near a specific address. Your agent can start by finding nearby locations, then use that data to query for upcoming elections in that area. This allows the AI client to build multi-step reasoning chains that simulate real-world civic research.
Multi-Step Voter Status Checks
Need to track voter eligibility? The `get_registration_details` tool retrieves state deadlines and links. You can chain this with `get_upcoming_elections` to determine if a user registered in time for an election within a specific ZIP code. This process requires the agent to manage sequential inputs and outputs.
Election Timeline Planning
The MCP Server exposes several tools for planning civic engagement. Start by using `get_ballot_information` for a particular election, then check that information against `check_api_status`. This ensures the agent not only knows what ballots are available but also confirms the service is operational before proceeding with user advice.
Set up vote.direct MCP in LangChain
Prerequisites
- Python 3.10+ installed
-
langchain-mcp-adapters+langgraphpackages - Active Vinkius subscription with a valid endpoint token
- 1
Install dependencies
Run
pip install langchain-mcp-adapters langgraph langchain-openai. The MCP adapters package converts MCP tools into native LangChainBaseToolobjects. - 2
Connect via HTTP transport
Use
MultiServerMCPClientwith"transport": "http"pointing to your Vinkius endpoint. Replace[YOUR_TOKEN_HERE]with your token from cloud.vinkius.com. - 3
Create a ReAct agent
Pass the discovered tools to
create_react_agent()from LangGraph. The agent automatically routes vote.direct tool calls through the MCP protocol. - 4
Run with any LLM
Swap
ChatOpenAIforChatAnthropic,ChatGoogleGenerativeAI, or any LangChain-compatible model. The MCP tools work identically across all providers.
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI
async with MultiServerMCPClient({
"votedirect-mcp": {
"transport": "http",
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
}
}) as client:
tools = client.get_tools()
agent = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools,
)
result = await agent.ainvoke({
"messages": "List recent vote.direct transactions"
})
print(result["messages"][-1].content) Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by vote.direct. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
Why Choose Vinkius
Vinkius connects your tools to AI with real-time monitoring and automatic cost savings — all from one dashboard.
Real-time monitoring
Live
visibility into every interaction
Connect your favorite tools to your AI and see exactly what's happening — every request, every response, in real time.
Built-in savings
60%
lower AI costs
Vinkius compresses data between your apps and your AI automatically. Lower bills every month — no configuration required.
Single dashboard
One
place for every integration
Every tool your AI connects to, managed from a single screen. One account, complete control.
Common questions about vote.direct MCP in LangChain
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
Start using the vote.direct MCP today
We host it, we monitor it, we maintain it. You just paste one token.