Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GITHUB_TOKENNoGitHub: Personal access token
LINEAR_API_KEYNoLinear: Personal API key
NOTION_API_KEYNoNotion: Integration secret (ntn_…)
TAVILY_API_KEYNoTavily: API key
GRANOLA_API_KEYNoGranola: API key
SLACK_BOT_TOKENNoSlack: Bot token (xoxb-…)
GOOGLE_CLIENT_IDNoGoogle: OAuth client ID
FIRECRAWL_API_KEYNoFirecrawl: API key
GOOGLE_CLIENT_SECRETNoGoogle: OAuth client secret

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
gmail_threads_listC

List Gmail threads.

gmail_messages_attachments_getA

Read one attachment, by the attachmentId messages_get or threads_get lists. A text file comes back as text; a binary one is reported, not decoded.

gdrive_files_createA

Create a file's metadata: a folder (mimeType application/vnd.google-apps.folder), a Google Doc / Sheet / Slide, or an empty blob. Media upload is not expressed here. parents takes at most one folder ID.

gsheets_spreadsheets_values_appendC

Appends values to a spreadsheet.

gsheets_spreadsheets_values_getC

Returns a range of values from a spreadsheet.

gcalendar_events_listC

List events matching a given search filter.

gcalendar_events_insertC

Create a calendar event; returns details of the event.

gmail_messages_sendC

Send an email via the Gmail API.

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.

notion_pages_updateA

Update a page's property values, icon, cover, or trash state. Properties not named are left alone, and a value set to null is cleared. This cannot move a page — use pages_move.

slack_chat_post_messageA

Send a message to a Slack channel, private group, or DM. Provide text for a plain message; set thread_ts to reply inside an existing thread.

github_search_repositoriesA

Search repositories with qualifiers, e.g. 'topic:cli language:go stars:>500'. Rate limited to 30 requests per minute.

github_repos_list_languagesA

List a repository's languages with bytes of code each — the quickest way to find out what a repository is written in before reading any of it. Answers with an object keyed by language, so there is nothing to page.

github_search_commitsA

Search commits by message, author or date across GitHub — 'repo:owner/name fix flaky test'. The way to find where a change was introduced. Rate limited to 30 requests per minute.

slack_conversations_inviteA

Add people to a channel. With force set, Slack adds everyone it can and reports the rest alongside a success, so read the result.

linear_team_membership_createC

Add a member to a team.

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.

notion_pages_createA

Create a page — as a subpage of another page, or as a row of a database by giving its data_source_id as the parent. Content comes as a markdown string Notion parses into blocks, or from a template: one or the other, never both.

gforms_forms_createA

Create a new form from a title. Only the title and the document title are honoured: the form is created with no description, no items and default settings. To add questions, call this and then forms_batch_update with the returned formId. Pass unpublished=true to create a form that does not yet accept responses.

gforms_forms_responses_listA

List a form's submitted responses, newest page first, up to 5000 per page. The only supported filter is on submission time: pass filter='timestamp >= 2026-01-01T00:00:00Z' to read what has arrived since a point in time. Answers come back keyed by questionId.

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.

notion_pages_retrieveA

Get a page's properties. This does not return the page's content — the blocks are read with blocks_children_list, or all at once as Markdown with pages_retrieve_markdown. A property holding more than 25 entries comes back truncated; read it in full with pages_retrieve_property_item.

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.

gdocs_documents_batch_updateA

Apply a list of edits to a document. Each request sets exactly one kind of edit — insert_text, replace_all_text, update_text_style, insert_table and so on. Edits apply in order against a document that shifts as they do: when inserting at several indices, order the requests back-to-front so earlier insertions do not move the positions later ones refer to.

gmail_drafts_createC

Save an email draft to Gmail.

tavily_searchA

Execute a real-time web search optimized for AI agents. Use when sources are unknown or current web context is needed. Prefer search_depth advanced with chunks_per_source 3 for stronger evidence per source.

firecrawl_scrapeB

Scrape a single URL and optionally extract information. Use when the user wants to read or summarize a specific webpage. Supports markdown, HTML, screenshots, and structured JSON extraction.

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.
applications_inbox_to_candidate_sheetEvery application filed with its CV and a row, no ATS needed at ten hires a year.
interview_schedulingPanels booked around everyone's calendars with the candidate confirmed.
interview_debriefEach interviewer's notes summarised onto the candidate page, posted to the hiring channel.
engineering_candidate_s_public_workWhat they've built in public, summarised before the technical interview.
new_hire_day_oneWeek-one meetings, channels, team, folders and checklist, from one name and start date.
pulse_surveySurvey sent where people are, results summarised for leadership.
offer_letterTemplate copied, filled from the candidate page and drafted to send.
job_post_from_the_marketA job description benchmarked against how others describe and pay the role.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 29 tools

Disambiguation5/5

Each tool has a distinct service prefix and action, e.g., gmail_threads_list vs gmail_messages_attachments_get, making purposes clear. No two tools appear to do the same thing; overlapping actions are differentiated by resource and service.

Naming Consistency4/5

Most tools follow a service_entity_action snake_case pattern (e.g., gdrive_files_create, notion_pages_update). Minor deviations like connect, connection_status, tavily_search, and slack_chat_post_message break the pattern but remain readable.

Tool Count2/5

29 tools across 11+ services is excessive for a focused recruiting ops server; many services have only one or two operations. The set feels like a broad integration grab bag rather than a well-scoped toolkit.

Completeness2/5

Core CRUD is missing for most services: Gmail lacks message reading, GDrive lacks list/get, GSheets lacks spreadsheet creation, and GitHub/Linear have only search or membership creation. References to non-existent tools (e.g., blocks_children_list) indicate an incomplete surface.

Maintenance

ActivityMaintained
ResponsivenessNo issues