Endpoint
The MCP endpoint is available whenever the app server is running:
https://your-imemory-host/api/mcp (local dev: http://localhost:8084/api/mcp)Authentication
Authenticate with a bearer token in the Authorization header (or x-api-key). Query-string ?apiKey= is not accepted — keys in URLs leak via logs and Referer headers. Use a project key (imk_...), global key (imgk_...), or bucket key (imbk_...). Multi-project accounts should append ?projectSlug=your-slug or set a default project in Settings → Preferences. Bearer OAuth tokens are also supported for remote clients (Copilot, ChatGPT). Generate keys in Global Settings or Project Settings → MCP client setup (owners only).
Connect a client
| Client | Config location | How to connect |
|---|---|---|
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json | Native HTTP — use the JSON snippet below or npm run setup:cursor. Restart Cursor and use Agent mode. |
| VS Code + GitHub Copilot | .vscode/mcp.json or user mcp.json | Root key is servers (not mcpServers). Set type: http, url, and headers. Use Copilot Agent mode. |
| Claude Desktop | Settings → Connectors, or claude_desktop_config.json | Remote: add a custom connector with your MCP URL. Local dev: bridge with npx mcp-remote and a --header Authorization flag. |
| Claude Code | claude mcp add or project .mcp.json | claude mcp add --transport http imemory-api <url> --header "Authorization: Bearer imk_..." |
| ChatGPT | Settings → Apps & Connectors | Add a custom connector with your public MCP URL. Cloud ChatGPT cannot reach localhost — deploy or tunnel. OAuth is supported. |
| OpenAI Codex | ~/.codex/config.toml | codex mcp add imemory-api --url <url> --bearer-token-env-var IMEMORY_API_KEY, or set [mcp_servers.imemory-api]. |
Config examples
Recommended: pass the key once at the connection level via header. Tool calls then do not require an apiKey argument.
Cursor / Claude Desktop (HTTP)
{
"mcpServers": {
"imemory-api": {
"url": "https://your-imemory-host/api/mcp",
"headers": {
"Authorization": "Bearer imk_your_project_api_key_here"
}
}
}
}VS Code / Copilot
{
"servers": {
"imemory-api": {
"type": "http",
"url": "https://your-imemory-host/api/mcp",
"headers": {
"Authorization": "Bearer imk_your_project_api_key_here"
}
}
}
}Claude Desktop (local HTTP bridge)
{
"mcpServers": {
"imemory-api": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-imemory-host/api/mcp",
"--transport",
"http-only",
"--header",
"Authorization: Bearer imk_your_project_api_key_here"
]
}
}
}Available tools
All tools are scoped to the project resolved from your key. They return only data from that project.
listTasks()getCurrentTask()setCurrentTask(taskId)createTask(title, status?, description?, jiraUrl?)updateTask(taskId, title?, status?, description?, jiraUrl?)deleteTask(taskId)deleteAllTasks()
getTaskContext(jiraId?, historyLimit?)getProjectContext(historyLimit?)addContextFile(name, kind, taskId?, content?, url?, storagePath?, mime?, size?)updateContextFile(contextFileId, ...)deleteContextFile(contextFileId)appendTaskNote(content, taskId?, title?)searchContext(query, scope?, taskId?, limit?)listGlobalContext()listTaskContext(taskId)logActivity(request, done, taskId?, projectSlug?)
listRepositories()createRepository(name?, url, provider?, notes?, projectSlug?)updateRepository(repositoryId, name?, url?, ...)addOrUpdateRepository(name?, url?, repositoryId?, ...)deleteRepository(repositoryId)listTeams()createTeam(name, description?)updateTeam(teamId, name, description?)deleteTeam(teamId)
syncJiraTasks(fullSync?)syncConfluencePages(fullSync?)syncRepositoryDocs(fullSync?)getGithubActivity(refresh?)getVercelDeployments(refresh?)getVercelRuntimeErrors(since?, until?, environment?, limit?, includeLogs?)
getProjectMonitoring(projectSlug?)configureProjectMonitoring(...)checkProjectHealth(projectSlug?)getProjectStats(projectSlug?)syncProjectProposals(projectSlug?, createTasks?)getProjectProposals(projectSlug?, status?, limit?)createImprovementProposal(title, ...)updateImprovementProposal(proposalId, ...)reportAgentHeartbeat(name, agentKey, kind?, platform?, projectSlug?, meta?)
Next steps
See the API reference for key management and HTTP endpoints, or head to sign up to create your first project.