DaData local MCP server on .NET
DaData Local MCP
A local C#/.NET 8 MCP server for DaData: country by name or code, address by coordinates, city by IP, three tools for Cursor
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- It only reads public DaData suggestions, does not write files or run OS commands
Install
Manual install
dotnet restore && dotnet buildA build is required before enabling the server in Cursor.
This is third-party code. Review the repository files before installing.
What it does
The server runs as a Cursor child process and talks to it over stdio: JSON-RPC through stdin/stdout, with logs only on stderr. It provides three tools over the DaData suggestions API (suggestions.dadata.ru): get_country looks up a country by name, numeric code, alpha-2 or alpha-3, get_address finds an address by coordinates within a given radius, and find_address_by_ip resolves a city from an IP address. DaData keys are never part of the tool schema or asked for in chat, only read from a .env file in the project root.
Who it is for. For Cursor developers who need simple DaData lookup suggestions with no cloud intermediary.
Good fit when
- You need to quickly find a country from a partial name or code
- You need an address from coordinates within a given radius
- You need to resolve a user's approximate city from an IP
Not a fit when
- You need address standardization or cleaning (paid DaData Cleaner): the server only uses free suggestions
- You need a client other than Cursor: the README and config target Cursor specifically
Example request
Find the address at coordinates 55.878, 37.653 within a 100-meter radiusLimitations
It covers only three DaData suggestions methods (country, address by coordinates, city by IP) out of its wider API. DaData's free suggestion limit is 10,000 requests a day. A dotnet build is required before enabling it, since Cursor runs the already-built DLL. It requires the .NET 8 SDK on the user's machine.
How to disable. Disable the dadata-local server in Cursor: Settings, MCP, and delete the .env file with the keys.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| DADATA_API_KEY required, secret | DaData API key from the account dashboard |
| DADATA_SECRET_KEY required, secret | DaData secret key from the account dashboard |
Security check
- It only reads public DaData suggestions, does not write files or run OS commands
README in short
The README explains how an IDE connects to MCP over stdio and what a tool means in this project's terms, gives a diagram of the three tools, requirements (.NET 8 SDK, a DaData key), build and Cursor connection steps, a result contract by type from ToolResults.cs with JSON response examples and links to specific source lines, and a security section on keeping keys only in .env.
FAQ
Do I need a paid DaData plan?
No, all three methods use free DaData suggestions with a 10,000-requests-per-day limit.
Does it work without building the project?
No, Cursor runs the already-built DLL, so dotnet build is required before enabling the server.
Related
166 skills for scientific work: bioinformatics, cheminformatics, clinical data, geospatial analysis and 100+ databases
Google's open-source MCP server for databases: ready tools for Postgres, MySQL, BigQuery, Spanner and more, plus custom tools in tools.yaml
Official Hugging Face skills: Hub operations via the hf CLI, datasets, model training, Spaces, evals and deployment
A visualization language for agents and an MCP server: neat charts from a simple semantic spec