ColineColineColineDocs

MCP

The Model Context Protocol (MCP) lets external tools and agents interact with Coline. Connect your IDE, AI assistant, or custom automation to discover and call Coline tools.

Overview

MCP provides:

  • Tool discovery: Clients query available tools and their schemas
  • Tool execution: Call Coline actions with structured input/output
  • Resource access: Read workspace data through standard URIs
  • Authentication: OAuth 2.1 with scope-based permissions

Protocol details

PropertyValue
Protocol version2025-11-25
TransportStreamable HTTP (primary), SSE (legacy)
AuthenticationOAuth 2.1 with Bearer tokens
Endpointhttps://coline.app/api/mcp
Discoveryhttps://coline.app/.well-known/mcp.json

Available tools

Coline exposes 35+ tools across all workspace features:

Core

ToolDescription
listWorkspacesList user workspaces
listTeamsList teams in a workspace
getUserGet current user profile

Notes

ToolDescription
listNotesList notes with filtering
createNoteCreate a new note
updateNoteUpdate note content

Spaces

ToolDescription
listSpacesList spaces in workspace
listDocumentsList documents in a space
createDocumentCreate a new document

Track (Issues)

ToolDescription
listIssuesList issues with filters
createIssueCreate a new issue
updateIssueUpdate issue fields
addCommentAdd comment to an issue

Boards

ToolDescription
listBoardsList Kanban boards
createBoardCreate a new board
listCardsList cards on a board
createCardCreate a card

Tasks

ToolDescription
listTasksList tasks with filters
createTaskCreate a new task
updateTaskUpdate task fields
completeTaskMark task complete

Calendar

ToolDescription
listCalendarsList user calendars
listEventsList calendar events
createEventCreate a calendar event
updateEventUpdate event details

Mail

ToolDescriptionConfirmation
listThreadsList email threadsNo
searchThreadsSearch emailsNo
sendEmailSend an emailRequired

Chat

ToolDescription
listConversationsList chat conversations
listMessagesList messages in conversation
sendMessageSend a chat message

Files

ToolDescription
listFilesList files and folders
createFolderCreate a folder
createShareLinkGenerate a share link

Additional tools

  • Whiteboard: listWhiteboards, createWhiteboard
  • Code: listWorkspaces, createWorkspace
  • Automations: listAutomations, runAutomation
  • Integrations: listConnections, syncIntegration

Resources

MCP clients can read Coline resources using standard URIs:

Resource typeURI pattern
Usercoline://users/{id}
Workspacecoline://workspaces/{id}
Teamcoline://teams/{id}
Spacecoline://spaces/{id}
Notecoline://notes/{id}
Issuecoline://issues/{id}
Boardcoline://boards/{id}
Taskcoline://tasks/{id}
Eventcoline://events/{id}
Threadcoline://threads/{id}
Messagecoline://messages/{id}
Filecoline://files/{id}
Whiteboardcoline://whiteboards/{id}
Code workspacecoline://code/{id}

Scopes

Request scopes to access specific tool categories:

ScopeTools
mcp.core:readlistWorkspaces, listTeams, getUser
mcp.spaces:readlistSpaces, listDocuments
mcp.spaces:writecreateDocument, updateDocument
mcp.notes:readlistNotes
mcp.notes:writecreateNote, updateNote
mcp.track:readlistIssues
mcp.track:writecreateIssue, updateIssue, addComment
mcp.boards:readlistBoards, listCards
mcp.boards:writecreateBoard, createCard
mcp.tasks:readlistTasks
mcp.tasks:writecreateTask, updateTask, completeTask
mcp.calendar:readlistCalendars, listEvents
mcp.calendar:writecreateEvent, updateEvent
mcp.mail:readlistThreads, searchThreads
mcp.mail:writesendEmail
mcp.chat:readlistConversations, listMessages
mcp.chat:writesendMessage
mcp.files:readlistFiles
mcp.files:writecreateFolder, createShareLink

Connecting a client

VS Code / Cursor

Add Coline to your MCP configuration:

{
  "mcpServers": {
    "coline": {
      "url": "https://coline.app/api/mcp",
      "auth": {
        "type": "oauth",
        "clientId": "your-client-id",
        "scopes": ["mcp.tasks:read", "mcp.tasks:write"]
      }
    }
  }
}

Custom client

Use the standard MCP client library:

import { Client } from '@modelcontextprotocol/sdk/client';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp';

const transport = new StreamableHTTPClientTransport({
  url: 'https://coline.app/api/mcp',
  headers: {
    Authorization: `Bearer ${accessToken}`,
  },
});

const client = new Client({ name: 'my-app', version: '1.0.0' });
await client.connect(transport);

// Discover tools
const { tools } = await client.listTools();

// Call a tool
const result = await client.callTool({
  name: 'listTasks',
  arguments: { status: 'pending' },
});

Authentication flow

  1. Register an OAuth client in Settings > Developers
  2. Use authorization code flow with PKCE or device flow
  3. Request MCP scopes for the tools you need
  4. Include the access token in the Authorization header

See API & SDK for OAuth implementation details.

Session management

MCP connections use sessions for state:

  • Sessions are tracked with mcp-session-id header
  • Session data includes user context and permissions
  • Sessions expire after 24 hours of inactivity
  • Reconnect with the same session ID to resume

Audit logging

All MCP tool calls are logged for security:

  • Tool name and input parameters
  • Execution result or error
  • User and client identification
  • Timestamp and duration

Enterprise plans can export audit logs for compliance.

Rate limits

MCP requests share rate limits with API requests:

PlanRequests per minute
Pro300
Team600
EnterpriseCustom

Tool calls count toward your API quota.

Tips

  • Start with read scopes: Test discovery and reading before writing
  • Use specific scopes: Request only what your integration needs
  • Handle confirmations: Some tools (like sendEmail) require user confirmation
  • Cache tool schemas: Tool definitions change infrequently
  • Monitor usage: Check the developer dashboard for call patterns