Pine Assistant MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PINE_USER_ID | No | Pine AI user ID | |
| PINE_BASE_URL | No | Pine AI backend URL (default: https://www.19pine.ai) | https://www.19pine.ai |
| PINE_DEVICE_ID | No | Stable device identifier. Recommended when the server runs as a subprocess (Claude Desktop, Cursor) | |
| PINE_ACCESS_TOKEN | No | Pine AI access token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pine_auth_request_codeA | Step 1: Send a verification code to the user's Pine AI email. After calling this, ask the user to check their email (including spam) and provide the code. Then call pine_auth_verify_code with the code and the returned request_token. |
| pine_auth_verify_codeA | Step 2: Verify the email code and activate Pine AI credentials. Use the request_token from pine_auth_request_code and the code the user received. On success, all Pine tools become available. |
| pine_session_createA | Create a new Pine AI session to start a customer service task. Returns session_id and web URL. Next step: call pine_send_message with the user's request (e.g. "Negotiate my Comcast bill"). |
| pine_session_listA | List Pine AI sessions with optional state filter. Args: state: Filter by state (e.g. "init", "task_ready", "in_progress"). limit: Max sessions to return (default 30). offset: Pagination offset. |
| pine_session_getA | Get session details including state, title, and timestamps. |
| pine_session_deleteA | Delete a Pine AI session. Args: session_id: The session to delete. force_delete: If True, force-delete even if the session has an active task. |
| pine_session_urlB | Get the web URL for a session. Share with the user for progress tracking, payments, or credits. |
| pine_get_historyA | Poll Pine's conversation history — the core way to see replies (no streaming). Call after sending a message or starting a task. Wait a few seconds between polls. Look for: [FORM], [BILLING], [PAYMENT], [TASK READY], [CREDITS NEEDED], [AUTH NEEDED], [THREE-WAY CALL], [TASK FINISHED], [ACTION NEEDED]. Args: session_id: The session to load history for. max_messages: Max messages to fetch (default 30). order: "asc" (oldest first) or "desc" (newest first). from_message_id: Fetch messages after this ID (for pagination). |
| pine_send_messageA | Send a message to Pine AI — describe the task, answer questions, or provide info. Also used to submit form answers as JSON ({"field_name": "value"}) when pine_send_form_response is not applicable. Use pine_get_history afterward to see Pine's response. Args: session_id: The session to send the message to. content: Text message or JSON form data to send. attachments: Optional attachment metadata from pine_upload_attachment. |
| pine_send_form_responseA | Submit a form shown in pine_get_history as [FORM]. Fill fields you know; ask the user for unknowns (especially preferences or security info). Use exact option labels for select fields. Args: session_id: The session containing the form. message_id: The form's message_id from pine_get_history output. form_data: {"field_name": "value"} pairs matching the form fields. |
| pine_send_auth_confirmationA | Submit an OTP/verification code for an [AUTH NEEDED] event. ALWAYS ask the user for the code first — never guess or hallucinate OTPs, PINs, or security answers. Args: session_id: The session requesting authentication. message_id: The auth request's message_id from pine_get_history. data: Verification data, e.g. {"code": "123456"}. |
| pine_send_location_responseA | Submit location coordinates for a [LOCATION NEEDED] event. Ask the user if unknown. Args: session_id: The session requesting the location. message_id: The location request's message_id from pine_get_history. latitude: Latitude string (e.g. "37.7749"). longitude: Longitude string (e.g. "-122.4194"). |
| pine_send_location_selectionC | Submit a location selection from options Pine provided. Args: session_id: The session with the location selection. message_id: The location selection request's message_id. places: Selected place objects from Pine's provided options. |
| pine_task_startA | Start task execution after billing is confirmed. Only call after: [BILLING] free task, [BILLING] payment received, or [PAYMENT] completed. Do NOT call if [TASK READY] says credits confirmed/auto-started — the task is already running. |
| pine_task_stopC | Stop a running Pine AI task. |
| pine_upload_attachmentA | Upload a file (bill, screenshot, document) for a Pine AI session. Returns attachment metadata — pass it to pine_send_message via the attachments parameter to include the file in a message. Args: file_path: Absolute path to the file to upload. |
| pine_delete_attachmentA | Delete a previously uploaded attachment. Args: attachment_id: The attachment ID from pine_upload_attachment. |
| pine_social_shareA | Share completed task results on social media to earn Pine credits. Args: session_id: The completed session to share results from. platform: One of "x", "facebook", or "linkedin". shared_url: The URL of the social media post. |
| pine_update_call_reminderB | Update a scheduled call reminder. Confirm timing with the user first. Args: session_id: The session with the scheduled call. message_id: The call reminder's message_id. scheduled_time: ISO 8601 datetime for the call. enabled: True to enable, False to disable. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/19PINE-AI/pine-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server