São Paulo (Cidade) MCP for AI. Query city data, map organizations, and run SQL queries.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
São Paulo (Cidade) MCP Server connects your AI agent directly to the official São Paulo Open Data Portal. It lets you search thousands of public datasets covering health, education, transport, and city finance in Brazil's largest metropolis.
Your agent can run complex SQL queries on CSV-backed resources or map out specific city organizations using natural language prompts.
What your AI can do
Datastore search sql
Runs complex, structured queries (SELECT WHERE) directly on the data contained in a resource.
Datastore search
Searches for a specific value or column name within an already loaded dataset resource file.
List groups
Lists all thematic groups available in the portal, helping you categorize your search scope.
Find relevant data packages across the entire city portal using search_packages.
Run specific, filtered commands against a dataset's resources using datastore_search_sql.
List all government bodies or secretariats that publish open data via list_organizations and get_organization.
Get detailed information on any specific dataset using the get_package tool, including its structure and resource list.
Search for a specific value or column name inside an already loaded dataset resource using datastore_search.
Ask an AI about this
Waiting for input…
São Paulo (Cidade) MCP Server: 11 Tools for Data Access
These tools let your AI client search, query with SQL, and inspect metadata across every dataset, group, and organization in the São Paulo open data portal.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using São Paulo (Cidade) on VinkiusDatastore Search Sql
Runs complex, structured queries (SELECT WHERE) directly on the data contained in a resource.
Datastore Search
Searches for a specific value or column name within an already loaded dataset...
List Groups
Lists all thematic groups available in the portal, helping you categorize your...
Get Group
Retrieves detailed information about a specific thematic group or category of...
List Organizations
Provides a list of every city department that contributes data to the open data...
Get Organization
Gets metadata for a city department (secretariat) that publishes data, showing its scope and purpose.
List Packages
Lists all available datasets (packages) in the entire São Paulo data portal, giving you an inventory view.
Search Packages
Searches the entire catalog for dataset packages using keywords or criteria.
Get Package
Retrieves the full details of an entire dataset package, including associated...
Get Resource
Gets specific file metadata (the actual data resource) within a dataset package to...
List Tags
Provides a list of common tags used across datasets, allowing you to browse related...
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with São Paulo (Cidade), then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by São Paulo (Cidade). 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.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 11 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Finding specific public data shouldn't require jumping through five different government websites.
Today, finding reliable metrics—say, the exact number of buses running a certain route in 2022—means navigating multiple departmental sites. You download one CSV from Transit Authority A, then another from Department B for population data, and finally you manually try to stitch them together in Excel. It's tedious, error-prone, and takes hours.
With the São Paulo (Cidade) MCP Server, your agent handles the whole process. Instead of downloading files, you just ask: 'What was the total bus count for this route in 2022?' The server uses its tools to locate the correct packages (`search_packages`), understand the schema (`get_package`), and run a single query using `datastore_search_sql`. You get the number instantly.
Use datastore_search_sql: Querying city data directly from your chat.
The old way meant that if you needed to compare metrics (e.g., comparing spending on education vs. health), you'd need multiple API calls, different authentication keys for each source, and a lot of custom code just to join the tables. It was complex data engineering before your agent even started.
Now, it’s simple. You let your AI client run `datastore_search_sql`. You write a query like 'SELECT * FROM table WHERE year > 2021', and the server handles all the messy underlying plumbing—authentication, schema mapping, and data retrieval. The result is clean, actionable, and ready for you.
What your AI can actually do with this
Your AI client connects directly to the official São Paulo Open Data Portal. This gives you access to thousands of public datasets covering everything from city finance and health metrics to education records and transportation routes across Brazil's biggest metropolis.
Discovering Datasets
Need data? You start by knowing what’s out there. Use list_packages to get a complete inventory of every dataset available in the portal. If you know what you're looking for, use search_packages; you can run searches across the entire catalog using keywords or specific criteria. To narrow your focus quickly, check list_tags, which gives you a list of common tags used across datasets, letting you browse related topics instantly.
You can also see all available thematic groupings with list_groups. If you need to know more about those categories, run get_group for detailed information on any specific group.
Mapping the City Structure
Figuring out which government body owns a dataset is half the battle. You can get a list of every contributing city department—the secretariats—using list_organizations. If you need to know more about one of those departments, run get_organization to get its metadata, scope, and purpose. These tools help map out exactly where the data comes from.
Inspecting Data Packages
Before you query anything, you gotta check the structure. Use list_packages again if you need a list of all available datasets (packages). To get full context on one specific dataset, run get_package. This pulls all the detailed metadata for that entire package, including what resources and tags it uses. You can also use get_resource to inspect a file's metadata within a package; this lets you check formats and IDs before trying to read the data.
Running Queries on Data
When you’re ready to pull numbers, your agent handles it in two ways. For basic field checking, use datastore_search. This tool searches for a specific value or column name inside an already loaded dataset resource file. If you need complex filtering—like running a SELECT WHERE command—you run datastore_search_sql. This executes highly structured queries directly on the data contained in the resource files.
This means your agent can first use list_organizations to find the department, then get_package to confirm the dataset structure, and finally use datastore_search_sql to pull out exactly what you need. The system manages all those steps, sending the final data back for you to read.
019e38e7-4353-72e7-8e5a-ebf0e01c9e51 Here's how it actually works
The bottom line is that you get raw, structured city data delivered to your agent's context without manual downloads or API endpoint management.
Subscribe to the São Paulo (Cidade) server.
(Optional) Provide your API Key for higher rate limits.
Tell your AI agent what data you need. The agent will automatically select and execute the necessary sequence of tools—like list_organizations followed by a query using datastore_search_sql.
Who is this actually for?
Data analysts and academic researchers. You’re the person who needs public metrics on health or education but gets tired of clicking through five different government dashboards just to copy a single number. Or maybe you're an investigative journalist needing proof of city spending patterns—you need structured data, not PDF reports.
Runs complex cross-dataset queries (e.g., 'What is the correlation between transport usage and healthcare service availability?') by chaining calls to datastore_search_sql.
Systematically maps out themes and organizations (list_groups, get_organization) to build a literature review of public policy data without talking to a librarian.
Tracks public spending or resource allocation by cross-referencing department names with financial datasets using get_organization and list_packages.
What Changes When You Connect
Stop manual downloading. You don't have to click through zip files or download CSVs just to find a column name. Your agent handles the connection and prepares the data for you right in your client's context.
Get cross-departmental views. Instead of checking the Health department site, then the Education site, run list_organizations first. This shows you all the relevant players contributing to city metrics.
Precision querying with SQL. When simple searches fail, use datastore_search_sql. You write a clean query—like 'SELECT * WHERE year > 2020'—and get structured results without knowing the underlying database schema.
Understand data lineage. Before trusting a dataset, run get_package and check its metadata. This confirms who owns it (get_organization), what themes it covers, and how fresh the source material is.
Speed up discovery. If you're hunting for anything related to 'transportation,' don't browse everything. Use search_packages or filter by tags to cut through the noise instantly.
See it in action
Auditing public spending on infrastructure
A journalist needs to track how much was spent on road maintenance vs. public transport over five years. They ask their agent: 'List all organizations involved in transport and give me the datasets.' The agent uses list_organizations and then runs targeted queries using datastore_search_sql against relevant financial packages, delivering a comparative table.
Developing a real-time city metrics dashboard
A developer needs to build an app that shows the current ratio of public services (Health vs. Education). They use their agent to first run get_package on both datasets, inspect the schema via get_resource, and then construct a unified query using datastore_search_sql for clean input.
Academic research on public health trends
A researcher needs to compare vaccination rates across different neighborhoods. They use list_tags to narrow down 'Health' data, then use get_group to focus only on relevant metrics packages, finally running targeted searches via datastore_search until they find the specific year-over-year comparison resource.
Mapping city governance for a policy paper
A consultant needs an overview of which secretariats handle what. They run list_organizations to get a master list, then use get_organization on the top five results to map out their specific mandates and data holdings before writing the policy whitepaper.
The honest tradeoffs
Treating all data like one big dump
The user tries to run a single massive SQL query against everything they find, assuming one dataset contains every piece of information. This fails because city data is siloed into dozens of different organizations and packages.
You must map the sources first. Use list_organizations to identify the contributing departments, then use search_packages to find datasets owned by those specific entities. Only then do you run a targeted query using datastore_search_sql on that one package.
Guessing the data structure
A user runs datastore_search_sql and gets an error because they used the wrong column name or date format. They waste time manually checking the source documentation.
Always start by inspecting the resource metadata. Use get_package to find the dataset, then use get_resource to check the file's specific structure before writing any query. The API tells you what columns exist.
Overlooking thematic context
Searching for 'pollution' using only keywords is too broad. It might pull up irrelevant datasets from finance or education departments.
Always filter by theme first. Use list_groups to select the appropriate category (like 'Environment') and then use get_group details before running any search, ensuring your query hits relevant data sources.
When It Fits, When It Doesn't
Use this server if you need structured access to official public government statistics for São Paulo. It's designed specifically for querying metrics—think quantifiable numbers on health rates, spending amounts, or population density. The core strength is the combination of metadata discovery (get_package, list_organizations) and deep data querying (datastore_search_sql).
Don’t use this if you need private corporate records, proprietary user data, or information that hasn't been officially published to the open portal. For those cases, you need a different integration source entirely. If your goal is general web research and summarizing text from PDFs, an LLM alone will work fine—you don't need these tools. But if the answer must come from a structured table of city data, this is your go-to.
Questions you might have
How do I search São Paulo public data using datastore_search_sql? +
You use the datastore_search_sql tool. You must first identify a specific resource (file) ID, then format your query exactly like standard SQL: SELECT column FROM table WHERE condition.
Which tool should I use to find all datasets related to 'Education'? +
You should start with list_groups or search_packages. If you know the theme, using the group list helps focus your initial search before running a broad query.
I need details on what a dataset is called; which tool do I use? +
Use the get_package tool. This gives you the metadata for an entire dataset, showing all its associated resources and tags before you try to query it.
How can I find out which department owns a specific dataset? +
The get_organization tool lets you check department details. If you know the package ID, use that in conjunction with get_package to see the owning organization listed.
When I use `list_packages`, does it show every single data source in the São Paulo Open Data Portal? +
Yes, running list_packages provides a complete inventory of published datasets. This function lists all available packages across the entire city portal, giving you a comprehensive view regardless of which department owns the data.
If my SQL query fails using `datastore_search_sql`, how can I diagnose the error? +
The tool will return a specific database error code and message detailing the failure. If you get an error, check your column names against the resource's metadata to ensure they match the data schema.
How do I handle higher rate limits when searching many datasets with `search_packages`? +
You must provide your personal São Paulo Open Data API Key in the request headers. Using a dedicated key raises your service ceiling, letting you run larger data discovery jobs without hitting throttling limits.
When I use `get_resource`, what specific details do I get about the file format? +
You receive detailed metadata that specifies the resource's native format and structure. This confirms if it’s a CSV, JSON, or another type of structured data before you try to load or query it.
How can I search for datasets related to a specific topic like 'Health'? +
You can use the search_packages tool with the query 'saúde'. The agent will return a list of matching datasets available in the portal.
Can I perform SQL queries on the data directly? +
Yes! If a resource is stored in the DataStore, you can use the datastore_search_sql tool to run standard SQL queries against the resource ID.
How do I find which city departments have published data? +
Use the list_organizations tool to see all registered entities. Then, use get_organization with a specific ID to see all datasets owned by that department.
We've already built the connector for São Paulo (Cidade). Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 11 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.