teadata-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Server port supplied by the platform | |
| DEBUG | No | Debug mode flag (alternative to TEADATA_DEBUG) | |
| TEADATA_DEBUG | No | Debug mode flag | |
| TEADATA_SNAPSHOT | No | Path to a local snapshot of Texas education data | |
| TEADATA_SNAPSHOT_URL | No | Remote snapshot URL when the bundled artifact is unavailable | |
| TEADATA_MAX_RESPONSE_BYTES | No | Soft response-size cap for list-heavy results | |
| TEADATA_ASSISTANT_LAUNCH_URL | No | URL to redirect unauthenticated users to | |
| TEADATA_ASSISTANT_SSO_SECRET | No | Shared secret for SSO authentication | |
| TEADATA_ASSISTANT_COOKIE_NAME | No | Name of the SSO cookie | |
| TEADATA_ASSISTANT_ENFORCE_SSO | No | Enable SSO enforcement (e.g., 'true' or 'false') | |
| TEADATA_ASSISTANT_SSO_SKEW_SECONDS | No | Allowed clock skew for SSO tokens in seconds |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_districtA | Look up a Texas school district by TEA number or name (wildcards like 'ALDINE*' or 'AUSTIN%' are supported). Use this to anchor district-level questions or to supply identifiers for detail, boundary, or campus list queries. Optionally request specific meta_fields for additional metrics. DO NOT search the web for basic district info; this tool provides it locally. Example: "Find Austin ISD" or "Get district 227901". |
| get_data_fieldsA | Inspect available data fields (metrics) for a campus or district. Use this tool to discover what specific data points are available in the local database before searching the web. It returns a list of keys (e.g., 'campus_2025_sat_average') that can be requested via meta_fields in other tools. |
| search_campusesA | Search campuses by name/number/district with filters for status (all/charter/isd/private), rating (A-F, NR), and grade_level (Elementary/Middle/High). Examples: query 'IDEA', 'KIPP', or 'Austin ISD' to fetch identifiers before detail/compare/map calls. This tool returns basic info; use get_campus_detail for full stats. Results paginate with cursor/next_cursor; set include_total=true to receive total_matches. You can request meta_fields to pull specific metrics without returning full meta blobs. Responses include payload.table and payload.exports for deterministic tables and CSV/JSON export; if payload.completeness.needs_follow_up or pagination.has_more is true, follow next_tool_call before finalizing. |
| get_campus_aggregatesA | Compute aggregate statistics (total enrollment, rating distribution, etc.) for campuses matching specific filters. Use this for questions like "Total enrollment of all charter schools" or "How many A-rated campuses are there?". Supports the same filters as search_campuses (query, status, rating, grade_level). |
| get_staffing_dashboardA | Return campus-level staffing metrics for dashboard analysis, including teacher experience, turnover rate, student-teacher ratio, enrollment, ratings, and coordinates for mapping. Use this to compare staffing differences between charter and traditional campuses without web search. |
| get_campus_detailA | Return a campus profile with rich data: Staffing, Class Sizes, Demographics, Transfers Out, Location, and Ratings. DO NOT search the web for these metrics; they are provided locally. Use |
| get_transfer_insightsA | Analyze outbound student transfer flows across campuses. Returns Sankey nodes/links, map-ready flow lines, charter vs traditional shares, rating shifts, and distance patterns. Optionally scope to a district or campus query. Use this for transfer dynamics, school choice patterns, or charter share questions. |
| get_district_detailA | Return district summary plus its campuses (useful for 'show all campuses in Houston ISD' style prompts). Includes district-wide stats. DO NOT search the web for this info; it is provided locally. Results paginate with cursor/next_cursor and can include total_matches when include_total=true. You can request meta_fields for the district or campus_meta_fields for each campus. Responses include payload.table and payload.exports for deterministic tables and CSV/JSON export; if payload.completeness.needs_follow_up or pagination.has_more is true, follow next_tool_call before finalizing. Example: "List campuses in Austin ISD". |
| get_nearby_campusesA | Find campuses within a radius (miles) of a campus or coordinates; returns distance_miles plus charter/private flags so you can filter. Example: coords (-95.36, 29.83) with radius 10 to find nearby charters; filter results by charter/is_private in the response. Results paginate with cursor/next_cursor and can include total_matches when include_total=true. Responses include payload.table and payload.exports for deterministic tables and CSV/JSON export; if payload.completeness.needs_follow_up or pagination.has_more is true, follow next_tool_call before finalizing. |
| compare_campusesA | Compare 2+ campuses side-by-side on rating, enrollment, staffing, and demographics. Use for benchmarking or 'compare these campuses' prompts after collecting campus identifiers via search. Optionally include meta_fields for extra comparison dimensions. Responses include payload.table and payload.exports for deterministic tables and CSV/JSON export. |
| get_entity_geometryA | Fetch campus or district geometry/location data from the local teadata snapshot, including geometry_fields to show which attributes are available. Use this for map/boundary questions or to confirm geometry before drawing. Example: "What geometry fields does Austin ISD expose?" |
| get_tooling_guideA | Return a prompt-to-tool guide with recommended tool calls for common intents. Use this when the user asks for a map, boundary, comparison, or spatial query and you want the canonical tool choice. |
| find_campuses_in_district_boundaryA | Spatial containment query using teadata boundary methods; returns GeoJSON (district polygon + campus points) with overall_rating_2025 in properties. Use for 'within Austin ISD boundaries' or 'show on a map' prompts; apply status or campus_query filters (e.g., IDEA, KIPP). Default boundary_delivery is 'reference' to avoid huge payloads; this returns a Census TIGERweb download_url so ChatGPT can fetch the boundary directly. response_profile controls payload size: 'map' returns GeoJSON only, 'list' returns campus list only, 'both' returns both. campus_list_format controls list compactness (id/id_name/full). Responses paginate via cursor/next_cursor to avoid truncation; set include_total=true to return total_matches. Responses include payload.table and payload.exports for deterministic tables and CSV/JSON export when lists are returned; if payload.completeness.needs_follow_up or pagination.has_more is true, follow next_tool_call before finalizing. Use campus_meta_fields to include specific meta keys without dumping full meta. Example: "Find campuses within Austin ISD boundaries". |
| find_charter_campuses_within_districtA | Shortcut for charter-only campuses within a district boundary; returns GeoJSON for interactive maps. Example: district_identifier 'Austin ISD' with campus_query 'IDEA'. Default boundary_delivery is 'reference' to avoid huge payloads; this returns a Census TIGERweb download_url so ChatGPT can fetch the boundary directly. response_profile controls payload size ('map', 'list', 'both'). campus_list_format controls how list outputs are compacted. Responses paginate via cursor/next_cursor. When lists are returned, payload.table and payload.exports provide deterministic tables and CSV/JSON export; if payload.completeness.needs_follow_up is true, follow next_tool_call before finalizing. |
| map_campuses_within_districtA | Map-focused alias for within-boundary queries. Use this when the user asks to show campuses on an interactive map; supports status filters (charter/isd/private). Returns campus points plus a boundary_reference download_url. response_profile defaults to 'map' for compact GeoJSON-only responses. campus_list_format controls how list outputs are compacted. Responses paginate via cursor/next_cursor. When lists are returned, payload.table and payload.exports provide deterministic tables and CSV/JSON export; if payload.completeness.needs_follow_up is true, follow next_tool_call before finalizing. Example: "Show campuses within Austin ISD on a map". |
| map_charter_campuses_within_districtA | Map-focused alias for charter-only campuses within a district boundary. Use this for prompts like "Find all charter school campuses located within Austin ISD's boundaries and show them on an interactive map". response_profile defaults to 'map' for compact GeoJSON-only responses. campus_list_format controls how list outputs are compacted. Responses paginate via cursor/next_cursor. When lists are returned, payload.table and payload.exports provide deterministic tables and CSV/JSON export; if payload.completeness.needs_follow_up is true, follow next_tool_call before finalizing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| teadata-boundary-widget | Interactive map + table for campus boundary results. |
| teadata-explorer-widget | Search, compare, and inspect campus + district details. |
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/adpena/teadata-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server