Navigate the U.S. Capitol complex: decode room codes, route buildings, check access, amenities.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Step-free / accessible directions between two points in the Capitol complex by mobility profile (wheelchair, limited_mobility, stroller, low_vision). Routes over elevators/ramps only, avoids stairs, and surfaces OCAS accommodation contacts. Use this instead of route_between when step-free matters.
Destination: room code, building name, or Metro station / landmark
Origin: room code, building name, or Metro station / landmark (e.g. 'Union Station')
Mobility profile (default: any step-free)
Step-free / accessible directions between two points in the Capitol complex by mobility profile (wheelchair, limited_mobility, stroller, low_vision). Routes over elevators/ramps only, avoids stairs, and surfaces OCAS accommodation contacts. Use this instead of route_between when step-free matters.
| Argument | Type | Description |
|---|---|---|
| to* | string | Destination: room code, building name, or Metro station / landmark |
| from* | string | Origin: room code, building name, or Metro station / landmark (e.g. 'Union Station') |
| mobility_profile | string | Mobility profile (default: any step-free) |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Destination: room code, building name, or Metro station / landmark"
},
"from": {
"type": "string",
"description": "Origin: room code, building name, or Metro station / landmark (e.g. 'Union Station')"
},
"mobility_profile": {
"enum": [
"wheelchair",
"limited_mobility",
"stroller",
"low_vision",
"any"
],
"type": "string",
"description": "Mobility profile (default: any step-free)"
}
},
"additionalProperties": false
}Pre-flight readiness check. Run before any other tool. Verifies secrets, KV, DB connectivity, and KB version + freshness. Returns a structured readiness report.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}What access a visitor needs for a zone of the Capitol complex: (visitor_type × zone) → allowed?, credential, escort, lead time, required docs, security entrance, and the granting authority. INFORMS, never grants — final authority is the member office / Capitol Police / Secret Service. Rules are volatile and live-source-stamped.
| Argument | Type | Description |
|---|---|---|
| zone* | string | Which area of the complex |
| visitor_type* | string | Who is visiting |
{
"type": "object",
"required": [
"visitor_type",
"zone"
],
"properties": {
"zone": {
"enum": [
"cvc_public",
"capitol_tour",
"house_gallery",
"senate_gallery",
"office_building",
"committee_hearing",
"subway",
"grounds",
"restricted"
],
"type": "string",
"description": "Which area of the complex"
},
"visitor_type": {
"enum": [
"public",
"constituent",
"advocate",
"press",
"staff",
"vip"
],
"type": "string",
"description": "Who is visiting"
}
},
"additionalProperties": false
}Find a Capitol office by ROOM CODE (e.g. 'SH-217', '2310 Rayburn', '167 Russell', 'H-232'), by MEMBER NAME (e.g. 'Cornyn', 'Ted Cruz', 'Womack'), or by COMMITTEE ('Senate Judiciary', 'Ways and Means', 'House Armed Services'). A room code returns the decoded location plus who currently holds it; a name returns that member's current office; a committee returns its office / principal hearing room. Member & committee assignments are the 119th Congress (volatile, live-source-stamped).
| Argument | Type | Description |
|---|---|---|
| query* | string | A room code/address, or a member's name |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "A room code/address, or a member's name"
}
},
"additionalProperties": false
}Nearest restroom, exit, and food for a specific point — a room code (floor-specific, e.g. the exact nearest bathroom to SH-217), a building name, or GPS coordinates {lat, lon}. Returns specific named venues ranked by distance.
| Argument | Type | Description |
|---|---|---|
| lat | number | Latitude (e.g. from device GPS) — pair with lon |
| lon | number | Longitude — pair with lat |
| location | string | Room code or building name |
{
"type": "object",
"anyOf": [
{
"required": [
"location"
]
},
{
"required": [
"lat",
"lon"
]
}
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude (e.g. from device GPS) — pair with lon"
},
"lon": {
"type": "number",
"description": "Longitude — pair with lat"
},
"location": {
"type": "string",
"description": "Room code or building name"
}
},
"additionalProperties": false
}Operational snapshot for the caller's tenant: KB version + freshness, queue depths (itineraries / draft meetings / active nudges), and the recent tool-invocation tail. Read-only.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Optimize a multi-meeting Hill day. Give a list of meetings (each a member name or room code, with an optional time like '10:30a'). Returns a sequenced itinerary: batched by chamber side to minimize cross-campus crossings, the route + minutes between each stop, the cross-campus window flagged, 'leave-by' times when meetings are timed, and warnings for connections too tight to make.
| Argument | Type | Description |
|---|---|---|
| meetings* | array | |
| accessible | boolean | Plan step-free routes |
{
"type": "object",
"required": [
"meetings"
],
"properties": {
"meetings": {
"type": "array",
"items": {
"type": "object",
"required": [
"who"
],
"properties": {
"who": {
"type": "string",
"description": "Member name or room code"
},
"time": {
"type": "string",
"description": "Optional start time, e.g. '10:30a'"
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"accessible": {
"type": "boolean",
"description": "Plan step-free routes"
}
},
"additionalProperties": false
}What you cannot bring into an area of the Capitol complex (security screening). zone: 'capitol_cvc' (the Capitol + Visitor Center — strictest, no food/water), 'gallery' (House/Senate galleries — no phones/cameras), or 'office_building' (the 6 office buildings — food & drink allowed). Always returns the universal weapon/hazard bans too. Volatile — live-source-stamped; confirm at visitthecapitol.gov before you travel.
| Argument | Type | Description |
|---|---|---|
| zone* | string | Which area you're entering |
{
"type": "object",
"required": [
"zone"
],
"properties": {
"zone": {
"enum": [
"capitol_cvc",
"office_building",
"gallery"
],
"type": "string",
"description": "Which area you're entering"
}
},
"additionalProperties": false
}Turn-by-turn directions between two points in the Capitol complex. Each point can be a room code, a building name, OR a Metro station / landmark (e.g. 'Capitol South Metro' → '2412 Rayburn', 'Union Station' → '517 Hart', or to the 'Supreme Court' / 'Library of Congress'). Returns an ordered step list with mode (walk/tunnel/subway), minutes, and a flag wherever you re-clear security. Set accessible=true for a step-free route (or use accessible_route).
| Argument | Type | Description |
|---|---|---|
| to* | string | Destination: room code, building name, or Metro station / landmark |
| from* | string | Origin: room code, building name, or Metro station / landmark (e.g. 'Capitol South Metro') |
| accessible | boolean | Prefer a step-free / accessible route |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Destination: room code, building name, or Metro station / landmark"
},
"from": {
"type": "string",
"description": "Origin: room code, building name, or Metro station / landmark (e.g. 'Capitol South Metro')"
},
"accessible": {
"type": "boolean",
"description": "Prefer a step-free / accessible route"
}
},
"additionalProperties": false
}