Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GITHUB_TOKENNoYour own GitHub personal access token (repo, read:user scopes). Can alternatively be stored in your OS keychain via `freelancer-ops-mcp login github`.
LINEAR_API_KEYNoYour own Linear personal API key. Can alternatively be stored in your OS keychain via `freelancer-ops-mcp login linear`.
STRIPE_API_KEYNoYour own Stripe key (Secret or restricted key). Can alternatively be stored in your OS keychain via `freelancer-ops-mcp login stripe`.
GRANOLA_API_KEYNoYour own Granola API key (Business plan or above). Can alternatively be stored in your OS keychain via `freelancer-ops-mcp login granola`.
GOOGLE_CLIENT_IDNoOAuth client ID for Google (Drive, Calendar, Gmail, Docs, Sheets). Used with browser sign-in over your own OAuth client.
FIRECRAWL_API_KEYNoYour own Firecrawl API key. Can alternatively be stored in your OS keychain via `freelancer-ops-mcp login firecrawl`.
GOOGLE_CLIENT_SECRETNoOAuth client secret for Google (Drive, Calendar, Gmail, Docs, Sheets).

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
stripe_customers_createC

Create a customer.

stripe_checkout_sessions_createA

Create a Checkout Session and get a hosted payment URL. Pass line_items with price IDs and quantities, mode='payment' for one-time or mode='subscription' for recurring.

gdrive_files_copyA

Create a copy of a file and apply any requested updates with patch semantics. Typically send a new name and optionally parents.

gdrive_permissions_createA

Create a permission for a file or shared drive. type is user, group, domain or anyone; role is owner, organizer, fileOrganizer, writer, commenter or reader. For user or group, send emailAddress. Concurrent permission writes on the same file are not supported.

linear_project_createA

Create a project. name and at least one team UUID are required; team UUIDs come from teams_list.

stripe_checkout_sessions_listA

List checkout sessions. Stripe has no payment_status filter, so find paid ones by reading the results.

gcalendar_events_insertC

Create a calendar event; returns details of the event.

gmail_messages_sendC

Send an email via the Gmail API.

linear_project_getB

Get one project with its content, milestones and members. Accepts the project's UUID or the slug from its URL.

linear_issues_listA

List issues, optionally filtered. Conditions on one filter object combine with AND. To find a team's open work, filter on team.key and state.type.

github_repos_list_commitsA

List commits, newest first. Narrow with sha for a branch, path for one file's history, or since/until for a window.

gdocs_documents_createA

Create a blank document with a title. Only the title is honoured — the document is created empty. To add content, call this and then documents_batch_update with the returned documentId.

gmail_drafts_createC

Save an email draft to Gmail.

granola_notes_getA

Read one meeting note: its AI summary, the people who attended, the calendar event it was taken against, and the folders it belongs to. Pass include='transcript' to get the transcript inline as well. A transcript too large to inline answers 413 TRANSCRIPT_TOO_LARGE. Read it with notes_transcript_get instead.

gdocs_documents_getA

Read a document's full structural content. The document ID is the long string in its URL, between '/d/' and '/edit'. Pass include_tabs_content=true for a document with several tabs, since the default response covers only the first.

gcalendar_events_listC

List events matching a given search filter.

gsheets_spreadsheets_values_appendC

Appends values to a spreadsheet.

stripe_invoice_items_createA

Add a line to an invoice. Name an existing price as pricing.price, or give an amount directly. Without invoice the line waits for the customer's next subscription invoice.

stripe_invoices_listA

List invoices, most recently created first. Filter by customer, subscription, status or collection method.

gmail_threads_listC

List Gmail threads.

gcalendar_events_quick_addA

Create an event from a plain-text description such as 'Appointment at Somewhere on June 3rd 10am-10:25am'. Google parses the time and title; use events_insert when the fields are already known.

firecrawl_crawlC

Recursively crawl a website and scrape each discovered page.

firecrawl_crawl_statusB

Get the status and results of a crawl job.

gdrive_comments_listC

List a file's comments. The fields parameter is required — for example comments(id,content,author,createdTime,resolved).

linear_issue_createA

Create an issue. team_id and title are required; everything else is optional. The UUIDs for team, assignee, state and labels come from teams_list, users_list and workflow_states_list — Linear does not accept names here. Set parent_id to create a sub-issue.

gdrive_replies_createA

Create a reply to a comment. Send content, or an action of resolve or reopen. content is required if no action is specified.

connectA

Connect one app this server uses. For an app that issues keys, says where to get one and the terminal command that stores it. For Google, once the user's own OAuth client is set, starts the browser sign-in and returns at once: the user approves in the browser and the next call works. To see which apps are connected, call connection_status. Never ask the user for a key in the chat.

connection_statusA

See which apps this server is connected to, and how to connect each one that is not. Changes nothing.

Prompts

Interactive templates invoked by user choice

NameDescription
setupConnect every app this server uses, the quickest way each one allows.
client_onboardingDeposit link, SOW from template, shared folder and project, for each new client.
deposit_paid_to_kickoffThe kickoff is booked the moment the deposit clears.
client_status_reportA weekly report the client can read, built from the work itself.
scope_creep_detectorAsks on the call that aren't in the SOW get flagged and a change order drafted.
billable_hours_from_calendarClient-tagged meetings become a timesheet and pending line items.
overdue_invoice_chaserEscalating reminders that cite the last thread, and a follow-up held on your calendar.
client_site_audit_to_proposalA prospect's site audited and turned into a scoped proposal with a pay link.
client_feedback_in_drive_comments_to_tasksEvery comment the client left on a deliverable becomes a task, and they see the link.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 28 tools

Disambiguation5/5

Each tool targets a distinct service-resource-action combination, with no true duplicates. The only near-overlap, gcalendar_events_insert versus gcalendar_events_quick_add, is explicitly clarified by their descriptions.

Naming Consistency4/5

Most names follow a predictable service_resource_action snake_case pattern (e.g. gdrive_permissions_create, linear_issue_create). The outliers connect and connection_status break the pattern, and a few action orderings vary slightly, but the set remains readable and mostly consistent.

Tool Count4/5

28 tools is on the heavy side, but the server spans many apps (Drive, Docs, Gmail, Linear, Stripe, Calendar, GitHub, Granola, Firecrawl, Sheets), so the count is reasonable for the broad freelance-ops scope. Each tool represents a distinct operation, avoiding redundancy.

Completeness2/5

There are significant dead ends: gdocs_documents_create references documents_batch_update, which is missing; linear_issue_create and linear_project_create require UUIDs from teams_list, users_list, and workflow_states_list, none of which exist. Several services also have only one or two operations, leaving core workflows like file upload, event update, and GitHub issue handling uncovered.

Maintenance

ActivityMaintained
ResponsivenessNo issues