Gravity AI UI
An interface generator that turns a model's description into a validated React component built on the Gravity UI library
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- It generates only a structured interface description; rendering uses trusted components
- The generation request goes to OpenAI, not into the user's private system
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/gravity-ai-uiDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
Run in a terminal
claude mcp add --transport http 'Gravity AI UI' https://gravity-ai.ydb-qdrant.techOr add to the file .mcp.json, in the project
{
"mcpServers": {
"Gravity AI UI": {
"type": "http",
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"Gravity AI UI": {
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"Gravity AI UI","type":"http","url":"https://gravity-ai.ydb-qdrant.tech"}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"Gravity AI UI": {
"type": "http",
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
codex mcp add 'Gravity AI UI' --url https://gravity-ai.ydb-qdrant.techOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers."Gravity AI UI"]
url = "https://gravity-ai.ydb-qdrant.tech"If the file already exists, append the block to the end.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
gemini mcp add -s user -t http 'Gravity AI UI' https://gravity-ai.ydb-qdrant.techOr add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"Gravity AI UI": {
"httpUrl": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"Gravity AI UI": {
"serverUrl": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"Gravity AI UI": {
"type": "streamableHttp",
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"Gravity AI UI": {
"type": "streamable-http",
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"Gravity AI UI": {
"type": "remote",
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"Gravity AI UI": {
"url": "https://gravity-ai.ydb-qdrant.tech"
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
OPENAI_API_KEYsecret, required- OpenAI API key
OPENAI_MODELoptional- OpenAI model, optional
OPENAI_REASONING_EFFORToptional- OpenAI reasoning effort, optional
OPENAI_MAX_OUTPUT_TOKENSoptional- OpenAI max output tokens, optional
NEXT_PUBLIC_APP_URLoptional- Public app URL, optional
NEXT_PUBLIC_BASE_PATHoptional- Public base path, optional
INDEXNOW_KEYoptional- IndexNow key, optional
YDB_CONNECTION_STRINGsecret, optional- YDB connection string, optional
YDB_ENDPOINToptional- YDB endpoint, optional
YDB_DATABASEoptional- YDB database, optional
YDB_FEEDBACK_TABLEoptional- YDB feedback table, optional
YDB_STATIC_CREDENTIALS_USERsecret, optional- YDB static credentials user, optional
YDB_STATIC_CREDENTIALS_PASSWORDsecret, optional- YDB static credentials password, optional
YDB_STATIC_CREDENTIALS_PASSWORD_FILEsecret, optional- YDB static credentials password file, optional
YDB_STATIC_CREDENTIALS_ENDPOINToptional- YDB static credentials endpoint, optional
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Connect the remote Gravity AI UI MCP server at the address from .well-known/mcp/server-card.json on gravity-ai.ydb-qdrant.tech, then call generate_interface with a description of the screen you need.
Other ways from the author
{
"mcpServers": {
"gravity-ai-ui": {
"url": "https://gravity-ai.ydb-qdrant.tech/mcp"
}
}
}Remote MCP over Streamable HTTP, address from the README and .well-known/mcp/server-card.json.
This is third-party code. Review the repository files before installing.
What it does
The app takes a user request, asks an OpenAI model to describe an interface in a strict structured A2UI format, and renders the result only with trusted Gravity UI components: cards, forms, tables, metrics, alerts and navigation. The model never emits raw HTML or React directly, only a data description that the app turns into components itself. There is a chat with history, an inspector with preview, React code, A2UI and payload tabs, and copyable React code for the resulting interface. Liked results can be saved and reused as examples for later generations.
Who it is for. For developers who want a working Gravity UI interface prototype quickly from a text description.
Good fit when
- You need a quick screen prototype in Gravity UI components from a text prompt
- You need ready React code to refine by hand afterwards
- You need an MCP tool to search and generate saved interface examples
Not a fit when
- You need a production-ready interface with no manual work
- You have no OpenAI key: generation only works through it
Example request
Generate a user profile card with an avatar, activity metrics and an edit button using Gravity UI componentsLimitations
Interface generation runs through the OpenAI API and needs its key; there is no Russian LLM in the project. YDB is only for saving liked results, and basic generation works fine without it. This is not an MCP server for cloud management: the remote MCP only searches, fetches, generates and refines interfaces, not Yandex Cloud resource operations.
How to disable. Remove the gravity-ai-ui MCP connector from your client settings, or simply stop using the web app.
MCP
- Transport
- http
- Authentication
- not required
| Environment variables | |
|---|---|
| OPENAI_API_KEY required, secret | OpenAI key for interface generation |
| YDB_CONNECTION_STRING secret | YDB connection string for saving liked interfaces |
Security check
- It generates only a structured interface description; rendering uses trusted components
- The generation request goes to OpenAI, not into the user's private system
README in short
The README describes a Next.js 16 app on React 19 and Gravity UI that generates interfaces via the OpenAI Responses API, with optional storage of liked results in YDB. It lists agent-facing resources: llms.txt, OpenAPI, an MCP server card and comparison pages against other interface generators. It separately covers OpenAI and YDB environment variables and development commands.
FAQ
What provider powers generation?
The OpenAI Responses API; your own key is passed via OPENAI_API_KEY when running locally.
Can I get ready React code?
Yes, the React tab in the inspector and the get_interface MCP tool return copyable code for the resulting component.
Related
Official Claude Code plugin from the Next.js repo: adopting Cache Components and Partial Prefetching, and verifying changes on a running dev server
Official shadcn/ui skill and MCP server: the agent searches registries, adds components via the CLI and follows the library's rules
A frontend design skill with 23 commands, live browser iteration and 61 detector rules for common AI-generated UI tells
Vercel Agent Skills
Agent Skills
Vercel's skills: React and Next.js performance, UI guideline audits, React Native, component composition and deploys