Skip to main content
Glama
mindwear-capitian

Local Dallas MCP

Local Dallas MCP

License: Apache 2.0 Node MCP

Your AI's local guide to Dallas. A Model Context Protocol (MCP) server giving Claude (and any MCP client) plain-English access to official Dallas-area public data — no API keys, no logins.

License: Open source under Apache License 2.0 — free to use, modify, and build on, including commercially. Please keep the NOTICE attribution when you redistribute. Built by: Ed Neuhaus. Source: https://github.com/mindwear-capitian/local-dallas-mcp Part of a family: local-city-mcp-template — the spec, the template, and the full list of cities built so far.

🚧 Early-stage. Three tools live today (weather alerts, school ratings, 311). More Dallas/Dallas-area civic and property data planned — see CONTRIBUTING.md.


Install

Add to your Claude Desktop config:

// claude_desktop_config.json
{
  "mcpServers": {
    "local-dallas": {
      "command": "npx",
      "args": ["-y", "github:mindwear-capitian/local-dallas-mcp"]
    }
  }
}

Restart Claude Desktop. No API keys required for any tool.

Claude Code

claude mcp add local-dallas npx -y github:mindwear-capitian/local-dallas-mcp

Related MCP server: weather mcp

Try it

  • "Is there an active weather alert for Dallas right now?"

  • "What's the TEA rating for Dallas ISD?"

  • "Show me A-rated elementary schools in Dallas county."

  • "Any open code compliance 311 requests in council district 10?"


Tools (3 live)

Tool

What it does

dallas_nws_alerts

Active National Weather Service alerts (severe thunderstorm, tornado, flood, heat, freeze, fire weather) for a Dallas location. Defaults to central Dallas when no address given.

dallas_tea_schools

Texas Education Agency school lookup — A-F accountability ratings + AskTED campus directory (statewide dataset). Search by campus, district, county, or city. Example districts: Dallas ISD, Plano ISD, Highland Park ISD.

dallas_311

City of Dallas 311 service requests (code compliance, streets, sanitation, etc). Filter by type, department, status, council district, or address.

about

Version + capability summary.

Sources of Truth

Domain

Source

Weather alerts

National Weather Service (api.weather.gov)

School ratings

Texas Education Agency Statewide Accountability Ratings 2022-2023 + AskTED directory (data.texas.gov) — statewide dataset, same source used by local-austin-mcp

311 service requests

City of Dallas Open Data (dallasopendata.com), dataset gc4d-8a49

Geocoding

U.S. Census geocoder

Architecture

Node.js (ES modules), @modelcontextprotocol/sdk over stdio. Built from local-city-mcp-template — see that repo's STANDARD.md for the spec (hard rules, tool contract, testing bar, licensing pattern) this server follows. Every response includes a source_url.

Contact

Built by Ed Neuhaus. Contributions welcome — see CONTRIBUTING.md.

Available Tools

4 tools
aboutA
Read-onlyIdempotent

Show information about this MCP server, including its name, version, data sources, license, and the original author. Always available. (via Local Dallas MCP -- https://edneuhaus.com)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds value by specifying the exact information returned (name, version, data sources, license, author), which enriches the behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence followed by a parenthetical note. It is front-loaded with purpose and efficient with words, leaving no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description is complete: it lists the specific information returned (name, version, data sources, license, author) and indicates constant availability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description has no need to elaborate on parameters, and the baseline for zero-parameter tools is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool shows server information including name, version, data sources, license, and author. It distinguishes itself from sibling tools like dallas_nws_alerts which focus on specific data domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Always available' indicates no restrictions on when to use this tool. While it doesn't explicitly state when not to use it, the context of being an 'about' tool makes usage intuitive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dallas_311A
Read-onlyIdempotent

Search City of Dallas 311 service requests (code compliance, streets, sanitation, and other non-emergency city services). Filter by request type, department, status, council district, or date range. Authoritative source: City of Dallas Open Data.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 25).
statusNoFilter by request status.
days_backNoOnly include requests created in the last N days. Default: no limit.
departmentNoDepartment name, fuzzy contains. Example: "Code Compliance", "Streets".
request_typeNoService request type, fuzzy contains. Example: "pothole", "code concern", "high weeds".
address_containsNoPartial street address match, e.g. "Bettywood" or "Main St".
council_districtNoDallas city council district number (1-14), e.g. "10".

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotent. Description adds 'authoritative source' context. No contradictions; behavioral traits are sufficiently covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Information is front-loaded and efficiently presented.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 optional parameters, no output schema, and no nested objects, description covers tool's purpose and filters well. Missing pagination info but not critical for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. Description lists filter options but does not add extra meaning beyond schema. Baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Search' and resource 'City of Dallas 311 service requests' with explicit categories. Clearly distinguishes from sibling tools (about, weather alerts, schools).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States when to use (searching 311 requests) and lists filter options. Does not explicitly mention when not to use, but context with siblings implies scope. Adequate for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dallas_nws_alertsA
Read-onlyIdempotent

Active National Weather Service alerts (severe thunderstorm, tornado, flood, heat, freeze, fire weather) for a specific Dallas location. Defaults to central Dallas when no address is supplied. Returns severity, urgency, headline, description, and expiration time for every active alert covering the point. Authoritative source: National Weather Service (api.weather.gov).

ParametersJSON Schema
NameRequiredDescriptionDefault
latNoLatitude (WGS-84). Use with lng to skip geocoding.
lngNoLongitude (WGS-84). Use with lat to skip geocoding.
addressNoStreet address to check. Will be geocoded. If omitted, defaults to central Dallas.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, open-world, idempotent, non-destructive. The description adds detailed return fields (severity, urgency, headline, description, expiration) and authoritative source, fully disclosing behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded purpose and essential details. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description specifies return fields, making it complete for a simple read operation. Covers purpose, parameters, defaults, and data source.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All parameters have schema descriptions, and the description adds context on default behavior (central Dallas) and geocoding skipping when using lat/lng, enhancing understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves active NWS alerts for a Dallas location, lists alert types, and describes returned fields. It distinguishes itself from sibling tools by being weather-specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how to use parameters (lat/lng or address) and notes the default to central Dallas. It provides clear usage context without needing explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dallas_tea_schoolsA
Read-onlyIdempotent

Look up Texas public schools and their TEA accountability ratings. Search by campus name, district, county, or city. Returns the A-F overall rating, sub-scores (Student Achievement, School Progress, Closing the Gaps), enrollment, demographics, district info, address, phone, and website. Example districts: "Dallas ISD", "Plano ISD", "Highland Park ISD". Authoritative sources: Texas Education Agency (2022-2023 ratings) and AskTED directory. Note: this does NOT map an address to its assigned schools -- attendance zones are managed by individual ISDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCampus city (e.g. "DALLAS"). Filters AskTED directory by city.
limitNoMax results (default 25).
campusNoCampus name, fuzzy contains. Example: "Booker T Washington HSPVA".
countyNoCounty name (e.g. "DALLAS"). Returns all campuses in that county.
ratingNoFilter by 2022-2023 overall rating.
districtNoDistrict name, fuzzy contains. Example: "Dallas ISD", "Plano ISD", "Highland Park ISD".
school_typeNoFilter by campus level.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description fully aligns with annotations (readOnlyHint, idempotentHint, etc.) and adds valuable context: authoritative sources (TEA 2022-2023), fuzzy search behavior, and the limitation regarding attendance zones. It discloses the read-only nature and data recency, exceeding annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear first sentence stating core purpose, followed by search options, returned fields, examples, source citation, and a limitation note. It is informative without excess; however, some sentences could be slightly shorter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 optional parameters, full schema coverage, no output schema, the description adequately covers expected returns (ratings, sub-scores, enrollment, demographics, etc.), sources, and data freshness. It sets proper expectations for what the tool does and does not do, making it reasonably complete for a lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning beyond parameter descriptions by providing specific examples (e.g., 'Dallas ISD', 'Booker T Washington HSPVA'), clarifying that searches are 'fuzzy contains', and explaining the 'rating' parameter as '2022-2023 overall rating'. This adds practical guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Look up'), resource ('Texas public schools and their TEA accountability ratings'), and scope ('Search by campus name, district, county, or city'). It lists what is returned and distinguishes itself from siblings by focusing on schools and ratings, while sibling tools cover about, alerts, and 311 services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool (looking up Texas public schools and ratings) and explicitly states what it does NOT do (address mapping to attendance zones). While it does not mention alternatives, sibling tools are unrelated, so explicit when-not guidance is less critical.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedabout
    • First observeddallas_311
    • First observeddallas_nws_alerts
    • First observeddallas_tea_schools

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool serves a clearly distinct purpose: server info, weather alerts, school ratings, and city service requests. There is no overlap in functionality.

Naming Consistency4/5

Three tools use a consistent 'dallas_' prefix with underscores, but the 'about' tool breaks this pattern. The naming is otherwise uniform.

Tool Count5/5

With 4 tools, the server is well-scoped for its domain. Each tool provides substantial value without being excessive.

Completeness4/5

Covers core local information (weather, schools, city services) but lacks tools for other common local queries like crime, traffic, or property data.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to fetch weather alerts and detailed forecasts for US locations using the National Weather Service API.
    55 npm
    GPL 3.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    A lightweight Model Context Protocol (MCP) server that gives AI assistants the ability to fetch real-time weather data for any city using the OpenWeatherMap API.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to answer DFW civic and property questions using official data sources without API keys.
    9
    87 npm
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Provides Claude and any MCP client with plain-English access to official San Antonio-area public data including weather alerts, school ratings, and 311 service calls, with no API keys required.
    4
    1
    Apache 2.0