by dianfengxiaobo
Enables structured data queries across multiple OPTIMADE material databases using configurable filter presets and provider endpoints, with natural‑language support and result summarization.
Optimade MCP Server provides a Model Context Protocol interface for querying OPTIMADE‑compatible material databases (e.g., Materials Project, Materials Cloud, COD). It lets an LLM or user construct OPTIMADE filter strings, selects provider endpoints, executes the query, stores the full JSON response, and generates a concise summary.
uv pip install optimade-mcp-server
{
"mcpServers": {
"optimade_mcp_server": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uvx",
"args": ["optimade-mcp-server"]
}
}
}
https://optimade.fly.dev
.optimade://results/<uuid>
and can be fetched later.lint_filter
validates syntax and whitelist compliance; query_optimade
returns a preview of the first five records plus a link to the full JSON; list_providers
discovers public OPTIMADE endpoints..env
(HTTP_PROXY
, HTTPS_PROXY
).optimade://results/<uuid>
for later retrieval.Q: Are resources auto‑injected into the model’s context?
A: No. The client must explicitly call resources/read
or configure a startup step.
Q: Can non‑whitelisted fields be used?
A: Yes. lint_filter
will return a warning (e.g., warn: band_gap
). The model should present the warning and ask for confirmation before querying.
Q: How is the full result accessed?
A: The server stores the complete JSON under optimade://results/<uuid>
. Retrieve it with a standard resources/read
call.
Q: What if I don’t specify a provider URL?
A: The server automatically falls back to the configured defaults and ultimately to the mirror https://optimade.fly.dev
.
Q: Do I need a proxy?
A: Only if your environment requires one. Define HTTP_PROXY
and HTTPS_PROXY
in a .env
file at the project root.
A Model Context Protocol (MCP) tool for querying Optimade-compatible material databases, fully configurable custom filter presets and provider endpoints.
This tool enables structured data queries across multiple OPTIMADE databases (e.g., Materials Project, Materials Cloud, COD), via MCP protocol. Key capabilities include:
1..Easily deployable via uvx, cline
2.It is possible to interact with the client in natural language, enabling the large language model to generate the OPTIMADE query filter.
3.The JSON returned by OPTIMADE will be saved locally, and a summary will be generated during the interaction.
Note: The query requires two parameters. One is the optimade query filter, and the other is the database to be queried.
optimade://docs/filters
– Filter grammar & examples (Markdown)optimade://spec/queryable_props
– Whitelist of fields marked “Query: MUST be a queryable property …” (JSON)optimade://docs/providers
– Default provider URLs (JSON, generated from config)optimade://docs/filter_presets
– Named filter snippets (JSON)optimade://prompts/ask_for_provider
– System prompt to guide URL selection & linting (Text)optimade://results/<uuid>
– Dynamic: full JSON of past querieslint_filter(filter)
→ "ok"
/ "warn: …"
/ "syntax error: …"
query_optimade(filter, baseUrls?)
→ preview (first 5) + link to full JSON resourcelist_providers()
→ Discover global public OPTIMADE endpointsbaseUrls
→ 2) config defaults → 3) fallback single mirror (https://optimade.fly.dev
).env
(HTTP_PROXY
, HTTPS_PROXY
).URI | Type | Purpose |
---|---|---|
optimade://docs/filters |
text/markdown |
Full grammar & examples |
optimade://spec/queryable_props |
application/json |
Whitelist: fields marked “MUST be queryable” |
optimade://docs/providers |
application/json |
Default provider URLs from config |
optimade://docs/filter_presets |
application/json |
Named filter snippets for inspiration |
optimade://prompts/ask_for_provider |
text/plain |
System prompt to guide URL choice & linting |
optimade://results/<uuid> |
application/json |
Dynamic: full JSON from previous queries |
Important: Resources are not auto-injected. Your MCP client must call
resources/read
(or you configure startup/workflow to read them).
1.Install the tool:
uv pip install optimade-mcp-server
2.In cline or any MCP-compatible launcher, configure the tool as follows:
{
"mcpServers": {
"optimade_mcp_server": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uvx",
"args": [
"optimade-mcp-server"
]
}
}
}
If you need to use a VPN or proxy, create a .env file in the project root:
HTTP_PROXY=http://127.0.0.1:<your-port>
HTTPS_PROXY=http://127.0.0.1:<your-port>
If you don't need a proxy, you can comment out or remove the proxy setup in the source code.
This project is licensed under the MIT License. See LICENSE for details.
Q: Are resources auto‑injected into the model’s context?
A: No. The client must call resources/read
(or configure a startup/workflow step). The server does apply provider fallback automatically if baseUrls
are omitted.
Q: Can I use non‑whitelisted fields?
A: Yes. lint_filter
returns warn: band_gap
. The model should show a warning and ask you to confirm before querying.
Q: How do I export the full result?
A: The server always saves a full JSON under optimade://results/<uuid>
.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "optimade_mcp_server": { "command": "uvx", "args": [ "optimade-mcp-server" ], "env": {} } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by googleapis
An MCP server that streamlines database tool development by handling connection pooling, authentication, observability, and secure access, allowing agents to interact with databases via natural language.
by bytebase
Provides a universal gateway that lets MCP‑compatible clients explore and query MySQL, PostgreSQL, SQL Server, MariaDB, and SQLite databases through a single standardized interface.
by designcomputer
Enables secure interaction with MySQL databases via the Model Context Protocol, allowing AI applications to list tables, read contents, and execute queries safely.
by benborla
Provides read‑only access to MySQL databases for large language models, allowing schema inspection and safe execution of SQL queries.
by ClickHouse
Enables AI assistants to run read‑only ClickHouse queries, list databases and tables, and execute embedded chDB queries through an MCP interface.
by chroma-core
Offers an MCP server exposing Chroma's vector database capabilities for LLM applications, supporting collection and document management, multiple embedding functions, and flexible client types such as in‑memory, persistent, HTTP, and cloud.
by kiliczsh
Enables LLMs to interact with MongoDB databases via a standardized interface, offering schema inspection, query execution, aggregation, and write capabilities, with optional read‑only mode and smart ObjectId handling.
by domdomegg
Provides read and write access to Airtable bases for AI systems, enabling inspection of schemas and manipulation of records.
by XGenerationLab
A Model Context Protocol (MCP) server that enables natural language queries to databases