rollin-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rollin-mcp-serverfind wheelchair accessible sushi in Denver"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
The only wheelchair accessibility data source available through MCP. Search 98,000+ restaurants, cafes, and bars across the US. Get real 0-100 accessibility scores. Submit corrections through natural conversation. One protocol, every platform.
v1.4 — Hosted server. Connect over Streamable HTTP at https://joinrollin.com/api/mcp with nothing to install, or run locally via npx. Trial mode still ships with the package: 5 free requests per session, no API key needed, with progressive nudges to a free key when you're ready.
Nobody should have to call ahead to ask if they can get in the door. ROLLIN puts accessibility data where it actually gets used.
Try It Now — No Key Required
npx rollin-mcp-serverThat's it. The server starts in trial mode with 5 free requests. Real data, real scores, no signup. When you're ready for unlimited access, grab a free key at joinrollin.com/portal.
Related MCP server: Google Maps MCP Server
Why MCP?
Model Context Protocol is the open standard for connecting tools to data. No custom integrations. No API wrappers. No glue code.
Build one MCP server → every compatible client gets instant access. Think of it as USB-C for data: one plug, universal compatibility. ROLLIN was one of the first accessibility data providers to ship an MCP server.
If your tool speaks MCP, it speaks accessibility.
Quick Start
Option A: Hosted server (no install)
ROLLIN also runs a hosted MCP server over Streamable HTTP — nothing to run locally, always current:
claude mcp add --transport http rollin https://joinrollin.com/api/mcp \
--header "X-Api-Key: your_api_key_here"Works in any client that supports remote MCP servers. Send your key as an
Authorization: Bearer or X-Api-Key header. Any tier works, including Free.
Discovery (initialize, tools/list) needs no key; tool calls require one.
Option B: Run locally via npx
1. Add the Server
npx rollin-mcp-serverNo global install. Runs anywhere Node 18+ is available. Works immediately in trial mode — no API key needed for your first 5 requests.
2. Get a Free API Key (for unlimited access)
Sign up at joinrollin.com/portal — no credit card required. Set ROLLIN_API_KEY in your config to unlock unlimited requests.
3. Configure Your Client
Add to your MCP client's configuration file:
{
"mcpServers": {
"rollin": {
"command": "npx",
"args": ["-y", "rollin-mcp-server"],
"env": {
"ROLLIN_API_KEY": "your_api_key_here"
}
}
}
}Works with any desktop MCP client.
Add to .cursor/mcp.json in your workspace:
{
"mcpServers": {
"rollin": {
"command": "npx",
"args": ["-y", "rollin-mcp-server"],
"env": {
"ROLLIN_API_KEY": "your_api_key_here"
}
}
}
}Add to .vscode/mcp.json in your workspace:
{
"servers": {
"rollin": {
"command": "npx",
"args": ["-y", "rollin-mcp-server"],
"env": {
"ROLLIN_API_KEY": "your_api_key_here"
}
}
}
}export ROLLIN_API_KEY="your_api_key_here"
npx -y rollin-mcp-serverPipe into any MCP-compatible process.
Tools
search_locations
Search accessible venues by location, query, and accessibility criteria.
Parameter | Type | Required | Description |
| string | no | Search query (name, cuisine, type) |
| number | no | Latitude for location-based search |
| number | no | Longitude for location-based search |
| number | no | Search radius in miles (default: 10) |
| number | no | Minimum accessibility score 0-100 |
| number | no | Max results (default: 20) |
| string | no | Filter by lighting: |
get_location_details
Full accessibility breakdown for a single venue.
Parameter | Type | Required | Description |
| string | yes | Location ID from search results |
Returns: score (0-100), 6 tracked features (wheelchair_entry, accessible_restroom, level_entry, parking, elevator, wide_aisles), environment/lighting data, verification status, community feedback.
list_regions
All coverage areas with location counts. No parameters.
submit_feedback
Submit accessibility corrections through conversation.
Parameter | Type | Required | Description |
| string | yes | Location ID |
| string | yes | Feedback type |
| string | yes | Description of correction |
check_health
Verify the API is up. No parameters.
Example Prompts
Once configured, just ask naturally:
"Find wheelchair accessible Italian restaurants near Times Square"
"What's the accessibility score for that spot?"
"Which cities does ROLLIN cover?"
"That restaurant has a ramp now — can you update it?"
Coverage
98,000+ scored locations coast to coast
State | Regions |
New York | NYC Metro, Hudson Valley, Long Island, Capital Region, Finger Lakes, Western NY, Adirondacks |
California | LA Metro, SF Bay Area, San Diego, Sacramento, Central Coast, Inland Empire |
Florida | Miami, Orlando, Tampa Bay, Jacksonville, Southwest FL |
Massachusetts | Boston Metro, Western MA |
Illinois | Northern IL, West-Central IL, Central IL, Southern IL |
Colorado | Northeast CO, Northwest CO, Southeast CO, Southwest CO |
Texas | DFW, Houston, Austin, San Antonio, El Paso |
Ohio | Cleveland, Cincinnati, Columbus, Northwest OH |
Georgia | Atlanta Metro, North Atlanta, Savannah, Augusta, Columbus, Macon, Athens, Albany |
North Carolina | Charlotte Metro, Raleigh, Durham, Greensboro, Winston-Salem, Asheville, Wilmington, Fayetteville |
South Carolina | Charleston, Columbia, Greenville, Myrtle Beach, Spartanburg, Hilton Head, Rock Hill, Florence |
Idaho | Northern ID, Boise Metro |
New Jersey | Statewide |
Pennsylvania | Statewide |
Washington DC | DC Metro |
Pricing
The MCP server uses your ROLLIN API key. Same tiers, same limits.
Free | Starter | Developer | Business | |
Requests | 1,000/mo | 5,000/mo | 50,000/mo | 500,000/mo |
Price | $0 | $9.99/mo | $29/mo | $149/mo |
Links
MCP Server Page | |
API Reference (Interactive) | |
API Documentation | |
Developer Portal | |
API Status | |
Python SDK | |
MCP Protocol Spec |
License
MIT — JoinRollin Inc
Available Tools
5 toolscheck_healthCheck API HealthA
Check if the ROLLIN API is operational. Also reports trial mode status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It states the tool checks operational status and reports trial mode, but does not describe the response format or error handling. Basic behavior is clear, but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences with no filler. Every word serves a purpose, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should ideally specify the return format. It conveys intent but leaves the agent to infer the exact structure of the health status and trial mode information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With no parameters (100% schema coverage), the description adds value by explaining the tool's purpose and output. It goes beyond the empty schema by specifying what the tool does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and clearly identifies the resource ('ROLLIN API operational status') and additional feature ('trial mode status'). It effectively distinguishes from sibling tools which are all about locations or feedback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, given its distinct purpose (health check) and the sibling tools being unrelated, the usage context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_location_detailsGet Location DetailsA
Get full accessibility details and score breakdown for a specific location. Returns features, score components, and verification status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Location ID (from search results) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool returns features, score components, and verification status, implying read-only behavior. However, it omits details about authentication, rate limits, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences, front-loading the core purpose and listing return content without any unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose and return content, but lacks details on return format, error conditions, or prerequisites. For a simple single-parameter tool, it is adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with a description. The tool description reinforces that 'id' is a location identifier but adds no new semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'accessibility details and score breakdown', and the constraint 'for a specific location'. It distinguishes the tool from siblings, which include system health, region listing, search, and feedback submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. The usage context is only implied by the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_regionsList Coverage RegionsA
List all regions where accessibility data is available. Returns states, regions, and location counts for each area.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the output (states, regions, location counts) but does not disclose whether the operation is read-only, any required permissions, or data freshness. The behavior is partially transparent but lacks safety assurances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and immediately followed by return details. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description adequately covers the return type (states, regions, location counts). It could mention pagination or data freshness, but the information given is sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%. The description adds value by explaining the return structure beyond what the empty schema provides, meeting the baseline for no-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all regions with accessibility data and specifies the return content (states, regions, location counts). It distinguishes itself from sibling tools like search_locations or get_location_details by focusing on region-level listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing a list of regions, but lacks explicit guidance on when to use alternatives (e.g., search_locations for filtering, get_location_details for a single location). No exclusions or context about prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_locationsSearch Accessible LocationsA
Search for wheelchair-accessible restaurants, cafes, and bars near a location. Returns scored results with accessibility features. Requires latitude and longitude.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search by name, cuisine, or category (e.g. 'sushi', 'Italian') | |
| lat | Yes | Latitude of the search center | |
| lng | Yes | Longitude of the search center | |
| limit | No | Number of results (default 10, max 50) | |
| radius | No | Search radius in miles (default 5, max 25) | |
| features | No | Comma-separated feature filter: wheelchair_entry, accessible_restroom, level_entry, parking, elevator, wide_aisles | |
| lighting | No | Filter by ambient lighting level: bright, moderate, or dim | |
| min_score | No | Minimum accessibility score (0-100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states that results are 'scored with accessibility features', hinting at a read-only operation, but does not disclose details like sorting or pagination. No contradiction with annotations exists (none provided).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three short sentences, front-loading the core purpose. It could be slightly more integrated, but it is efficient and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, no output schema, and no annotations, the description is adequate but incomplete. It mentions scored results and accessibility features but does not explain the score range, output structure, or how to use filters (e.g., features, lighting) that are present in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description reiterates the need for latitude/longitude, already clear from the schema. It adds no new meaning beyond what the schema provides for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and identifies the resource ('wheelchair-accessible restaurants, cafes, and bars') and the requirement for location input. It clearly distinguishes from sibling tools, which are unrelated (check_health, get_location_details, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is intended for finding accessible places near a given location, and it explicitly notes required parameters. However, it does not provide exclusion criteria or compare with alternatives, but the context is sufficient given the distinct sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackSubmit Location FeedbackA
Submit a correction or feedback about a location's accessibility. Use this when a user reports that accessibility information is inaccurate.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Additional context (max 1000 characters) | |
| features | No | Feature corrections, e.g. { wheelchair_entry: true, parking: false } | |
| location_id | Yes | Location ID to submit feedback for | |
| feedback_type | Yes | Type: 'accurate' to confirm, 'inaccurate' to flag, 'correction' to update features |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It implies a write operation ('Submit') but does not state whether the submission is destructive, requires authentication, or has rate limits. There is no mention of confirmation or feedback lifecycle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant information. The first sentence states the action, the second gives usage context. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should at least hint at the result (e.g., confirmation, error handling). It does not. For a tool with 4 parameters including a nested object, more behavioral context (e.g., whether submission is immediate or queued) would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema (e.g., mentions 'correction' and 'feedback' but not specific parameters). The schema itself adequately documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Submit a correction or feedback') and the resource ('location's accessibility'). It distinguishes from sibling tools (check_health, get_location_details, etc.) by focusing on feedback submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when a user reports that accessibility information is inaccurate,' providing clear context for when to use. It does not mention when not to use or alternatives, but siblings are sufficiently different.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool serves a unique purpose: health check, location details, region listing, location search, and feedback submission. No two tools have overlapping functionality, making it easy for an agent to select the correct one.
All tool names follow a consistent verb_noun pattern using lowercase and underscores (e.g., check_health, list_regions). The verbs are distinct and descriptive, and the naming is uniform throughout.
With 5 tools, the server is tightly scoped to its purpose of providing wheelchair accessibility information. Each tool is essential for the core workflows, and the count is neither too few nor too many.
The tool set covers key operations: health check, region discovery, location search, detail retrieval, and feedback. A minor gap is the lack of a tool to list all locations within a region without specifying coordinates, but the core functionality is well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
OSM-sourced local business data across 9 niches — cuisine, dietary options, delivery, accessibility.
Grounded, multilingual travel data + a cited travel concierge. 12+ languages, deep India coverage.
Provide real-time and forecast weather information for locations in the United States using natura…
Access CQC care ratings, NHS health services, and food hygiene data across the UK
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, validate, and edit OpenStreetMap data through natural language commands and built-in safety protections. It supports discovery of nearby amenities, geographic data exploration, and secure map editing via OAuth authentication.4MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to access Google Maps services including places search, details, directions, geocoding, and nearby search through natural language.62MIT
- AlicenseNot gradedqualityCmaintenanceWraps the Recreation Information Database (RIDB) API to enable querying recreation.gov data such as campsites, facilities, and permits via natural language.14MIT
- FlicenseNot gradedqualityDmaintenanceEnables place search and discovery via the Foursquare Places API v3, allowing AI assistants to find venues, search near locations, look up place details, and get location context.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DavidSirota/rollin-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server