About Ink MCP
Ink MCP is a remote MCP service for deploying and managing applications and related cloud resources on ml.ink. It covers services, databases, Git repositories, custom domains, DNS, and workspaces, with OAuth or API key authentication.
Key features
- 01Deploy services from Git repositories
- 02Inspect, update, and redeploy services
- 03Create and manage database resources
- 04Create Git repositories and obtain push tokens
- 05Manage custom domains and DNS records
- 06Manage workspaces, members, and invitations
Use cases
- 01Deploy and update application services
- 02Set up project databases and repositories
- 03Connect domains and manage DNS records
- 04Manage team workspace membership
MCP support
Ink MCP uses Streamable HTTP at https://mcp.ml.ink/mcp. It exposes tools for managing ml.ink services, databases, Git, domains, DNS, and workspaces to MCP clients, with OAuth 2.1 (PKCE) or API key authentication.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.ml.ink/claude mcp add --transport http ink-ml-ink https://mcp.ml.ink/{"mcpServers":{"ink-ml-ink":{"type":"http","url":"https://mcp.ml.ink/"}}}Open in Cursor{"servers":{"ink-ml-ink":{"type":"http","url":"https://mcp.ml.ink/"}}}Open in VS Code{"mcpServers":{"ink-ml-ink":{"type":"http","url":"https://mcp.ml.ink/"}}}{"mcpServers":{"ink-ml-ink":{"serverUrl":"https://mcp.ml.ink/"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEInk MCP
MCP server for deploying and managing applications on ml.ink.
Server URL: https://mcp.ml.ink/mcp
Transport: Streamable HTTP
Auth: OAuth 2.1 (PKCE) or API key
Authentication
OAuth
MCP clients that support OAuth handle the login flow automatically — add the server URL and sign in via browser.
API Key
- Sign up at ml.ink
- Settings → API Keys → Generate
- Pass via header:
Authorization: Bearer dk_live_...
Client Setup
Claude Code
# OAuth
claude mcp add --transport http ink https://mcp.ml.ink/mcp
# API key
claude mcp add --transport http ink https://mcp.ml.ink/mcp \
--header "Authorization: Bearer dk_live_YOUR_API_KEY"
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"ink": {
"url": "https://mcp.ml.ink/mcp"
}
}
}
With API key:
{
"mcpServers": {
"ink": {
"url": "https://mcp.ml.ink/mcp",
"headers": {
"Authorization": "Bearer dk_live_YOUR_API_KEY"
}
}
}
}
Cursor
Settings → MCP → Add new MCP server:
{
"mcpServers": {
"ink": {
"url": "https://mcp.ml.ink/mcp"
}
}
}
Windsurf
Settings → MCP → Add Server:
{
"mcpServers": {
"ink": {
"serverUrl": "https://mcp.ml.ink/mcp"
}
}
}
Codex CLI
codex mcp add --transport http ink https://mcp.ml.ink/mcp \
--header "Authorization: Bearer dk_live_YOUR_API_KEY"
Cline / Roo Code
Add to extension MCP settings:
{
"mcpServers": {
"ink": {
"url": "https://mcp.ml.ink/mcp",
"headers": {
"Authorization": "Bearer dk_live_YOUR_API_KEY"
}
}
}
}
Tools
Services
| Tool | Description |
|---|---|
create_service | Deploy a service from a git repo |
list_services | List deployed services |
get_service | Service details, build/runtime logs |
update_service | Update config (repo, branch, port, env, resources, commands) |
redeploy_service | Redeploy with latest code |
delete_service | Delete a service |
Databases
| Tool | Description |
|---|---|
create_resource | Provision a database (SQLite via Turso) |
list_resources | List databases |
get_resource | Connection details (URL + auth token) |
delete_resource | Delete a database |
Git
| Tool | Description |
|---|---|
create_repo | Create a git repo (internal or GitHub) |
get_git_token | Temporary push token |
Custom Domains & DNS
| Tool | Description |
|---|---|
add_custom_domain | Attach a custom domain to a service |
remove_custom_domain | Remove a custom domain |
list_delegations | List delegated zones |
add_dns_record | Add DNS record (A/AAAA/CNAME/MX/TXT/CAA) |
delete_dns_record | Remove a DNS record |
list_dns_records | List records in a zone |
Workspaces
| Tool | Description |
|---|---|
workspace_list | List workspaces |
workspace_create | Create a team workspace |
workspace_delete | Delete a workspace |
workspace_invite | Invite by email or git username |
workspace_accept_invite | Accept invite |
workspace_decline_invite | Decline invite |
workspace_revoke_invite | Revoke invite |
workspace_remove_member | Remove member |
workspace_list_members | List members and roles |
workspace_list_invites | List pending invites |
Other
| Tool | Description |
|---|---|
list_projects | List projects in a workspace |
account_status | Account details, balance, GitHub App status |
chat | Send/read workspace or project messages |
list_action_log | Query audit log |
Supported Frameworks
Auto-detected, no configuration needed:
- JS/TS — Next.js, Remix, SvelteKit, Nuxt, Astro, Express, Fastify, Hono
- Python — FastAPI, Flask, Django, Starlette
- Go — Any Go server
- Rust — Axum, Actix, Rocket
- Ruby — Rails, Sinatra
- Static — HTML/CSS/JS, Vite, CRA
- Dockerfile — Custom via
build_pack="dockerfile"
Links
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.