Skip to main content
Glama
MSPbotsAI

openai-workspace-mcp

by MSPbotsAI

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AUTH_MODENoAuthentication mode: 'env' (key from environment) or 'gateway' (key from HTTP header).gateway
MCP_HTTP_HOSTNoHTTP server bind address.0.0.0.0
MCP_HTTP_PORTNoHTTP server port.8080
MCP_TRANSPORTNoTransport mode: 'stdio' or 'http'.stdio
OPENAI_BASE_URLNoAdmin API base URL (fixed, no regional variants).https://api.openai.com/v1
OPENAI_ADMIN_API_KEYNoOpenAI Admin API key. Required for env auth mode (used for stdio or HTTP). In gateway mode, the key is passed per-request via the x-openai-admin-key header.

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
openai_list_usersA

List members of the OpenAI organization.

    Args:
        emails: Filter by these email addresses.
        after: Pagination cursor from a previous response's `last_id`.
        limit: Maximum number of users to return per page.
    
openai_get_userA

Get a single organization member's details.

    Args:
        user_id: The member's user ID (see openai_list_users).
    
openai_update_user_roleA

Change a member's role in the organization.

    Args:
        user_id: The member's user ID (see openai_list_users).
        role: New organization role — `owner` or `reader`.
    
openai_remove_userA

Remove a member from the organization.

    Args:
        user_id: The member's user ID (see openai_list_users).
    
openai_invite_userA

Invite a new user to the OpenAI organization by email.

    The invite must be accepted by the user before they gain access. Its
    "status" starts at `pending` until accepted.

    Args:
        email: Email address to invite.
        role: Organization role to grant — `owner` or `reader`.
        projects: Optional list of `{"id": <project_id>, "role": "owner"|"member"}`
            to grant project membership at the same time the invite is accepted.
            If omitted, the user is invited to the default project (legacy
            behavior). Pass an empty list to invite them to no projects at all.
    
openai_get_inviteA

Get a single invite's details, including its status.

    Args:
        invite_id: The invite's ID (see openai_list_invites).
    
openai_list_invitesA

List all invites in the organization.

    Each invite's "status" is one of `pending`, `accepted`, or `expired`.

    Args:
        after: Pagination cursor from a previous response's `last_id`.
        limit: Maximum number of invites to return per page.
    
openai_delete_inviteA

Revoke a pending invite. Invites that have already been accepted cannot be deleted.

    Args:
        invite_id: The invite's ID (see openai_list_invites).
    
openai_list_projectsA

List projects in the organization.

    Args:
        include_archived: If True, also return archived projects (excluded by default).
        after: Pagination cursor from a previous response's `last_id`.
        limit: Maximum number of projects to return per page.
    
openai_get_projectA

Get a single project's details.

    Args:
        project_id: The project's ID (see openai_list_projects).
    
openai_create_projectA

Create a new project in the organization.

    Args:
        name: The project's friendly name (appears in usage/cost reports).
    
openai_update_projectA

Rename a project.

    Args:
        project_id: The project's ID (see openai_list_projects).
        name: The new project name.
    
openai_archive_projectA

Archive a project. Archived projects cannot be used or modified further, and this action cannot be undone via the API.

    Args:
        project_id: The project's ID (see openai_list_projects).
    
openai_list_project_usersA

List members of a project.

    Args:
        project_id: The project's ID (see openai_list_projects).
        after: Pagination cursor from a previous response's `last_id`.
        limit: Maximum number of users to return per page.
    
openai_get_project_userA

Get a single project member's details.

    Args:
        project_id: The project's ID (see openai_list_projects).
        user_id: The member's user ID (see openai_list_project_users).
    
openai_add_project_userA

Add an existing organization member to a project.

    The user must already be a member of the organization (see
    openai_invite_user / openai_list_users) — this call cannot invite
    someone new to the org.

    Args:
        project_id: The project's ID (see openai_list_projects).
        user_id: The organization member's user ID (see openai_list_users).
        role: Project role to grant — `owner` or `member`.
    
openai_update_project_user_roleA

Change a member's role within a project.

    Args:
        project_id: The project's ID (see openai_list_projects).
        user_id: The member's user ID (see openai_list_project_users).
        role: New project role — `owner` or `member`.
    
openai_remove_project_userA

Remove a member from a project. Fails if the project is archived.

    Args:
        project_id: The project's ID (see openai_list_projects).
        user_id: The member's user ID (see openai_list_project_users).
    
openai_list_service_accountsA

List service accounts in a project.

    Args:
        project_id: The project's ID (see openai_list_projects).
        after: Pagination cursor from a previous response's `last_id`.
        limit: Maximum number of service accounts to return per page.
    
openai_get_service_accountA

Get a single service account's details.

    Args:
        project_id: The project's ID (see openai_list_projects).
        service_account_id: The service account's ID (see openai_list_service_accounts).
    
openai_create_service_accountA

Create a new service account in a project.

    By default this also creates a `member`-role project membership and an
    API key for the account. IMPORTANT: the response contains the API key's
    PLAINTEXT value — this is the only time it is ever shown. Surface it to
    the user immediately so they can store it; it cannot be retrieved again.

    Args:
        project_id: The project's ID (see openai_list_projects).
        name: Name for the new service account.
        create_service_account_only: If True, skip creating the default role/API key.
    
openai_update_service_accountA

Update a service account's name and/or role.

    Args:
        project_id: The project's ID (see openai_list_projects).
        service_account_id: The service account's ID (see openai_list_service_accounts).
        name: New name for the service account.
        role: New project role — `owner` or `member`.
    
openai_delete_service_accountA

Delete a service account from a project. Fails if the project is archived.

    Args:
        project_id: The project's ID (see openai_list_projects).
        service_account_id: The service account's ID (see openai_list_service_accounts).
    
openai_list_project_api_keysA

List API keys in a project. Key values are always redacted.

    Args:
        project_id: The project's ID (see openai_list_projects).
        owner_project_access: Filter by whether the key owner currently has
            project access — `active`, `inactive`, or `any`.
        after: Pagination cursor from a previous response's `last_id`.
        limit: Maximum number of keys to return per page.
    
openai_get_project_api_keyA

Get a single project API key's details (redacted value only).

    Args:
        project_id: The project's ID (see openai_list_projects).
        api_key_id: The API key's ID (see openai_list_project_api_keys).
    
openai_delete_project_api_keyA

Delete an API key from a project.

    Fails if the key belongs to a service account — delete the service
    account instead (openai_delete_service_account) to revoke that key.

    Args:
        project_id: The project's ID (see openai_list_projects).
        api_key_id: The API key's ID (see openai_list_project_api_keys).
    
openai_list_rate_limitsA

List per-model rate limit configs for a project.

    Args:
        project_id: The project's ID (see openai_list_projects).
        after: Pagination cursor from a previous response's `last_id`.
        before: Pagination cursor to fetch the previous page.
        limit: Maximum number of rate limit entries to return per page.
    
openai_update_rate_limitA

Update a project's rate limit for one model.

    Each `max_*` field only applies to relevant model types (e.g.
    max_images_per_1_minute only matters for image models) — check
    openai_list_rate_limits first to see which fields are present for the
    target model before changing them.

    Args:
        project_id: The project's ID (see openai_list_projects).
        rate_limit_id: The rate limit entry's ID (see openai_list_rate_limits).
        max_requests_per_1_minute: New requests-per-minute limit.
        max_tokens_per_1_minute: New tokens-per-minute limit.
        max_images_per_1_minute: New images-per-minute limit.
        max_audio_megabytes_per_1_minute: New audio-megabytes-per-minute limit.
        max_requests_per_1_day: New requests-per-day limit.
        batch_1_day_max_input_tokens: New batch max input tokens per day.
    
openai_list_audit_logsA

List user actions and configuration changes in the organization.

    Args:
        effective_start_time: Only events at/after this Unix timestamp (seconds).
        effective_end_time: Only events before this Unix timestamp (seconds).
        actor_emails: Only events performed by users with these emails.
        actor_ids: Only events performed by these actors (user, service
            account, or API key tracking IDs).
        event_types: Only events of these types, e.g. `project.created`,
            `user.added`, `api_key.deleted`, `invite.sent`. See
            https://platform.openai.com/docs/api-reference/audit-logs/object
            for the full enum.
        project_ids: Only events scoped to these projects.
        resource_ids: Only events affecting these resource IDs.
        after: Pagination cursor from a previous response's `last_id`.
        before: Pagination cursor to fetch the previous page.
        limit: Maximum number of events to return per page.
    
openai_get_usageA

Query time-bucketed API usage for the organization.

    `limit` caps the number of time buckets returned, with different
    defaults/maximums per bucket_width: 1d -> default 7, max 31; 1h ->
    default 24, max 168; 1m -> default 60, max 1440.

    Args:
        category: Which usage type to query — one of: completions,
            embeddings, moderations, images, audio_speeches,
            audio_transcriptions, vector_stores, code_interpreter_sessions,
            file_search_calls, web_search_calls.
        start_time: Start of the query range, inclusive (Unix seconds).
        end_time: End of the query range, exclusive (Unix seconds).
        bucket_width: Time bucket size — `1m`, `1h`, or `1d` (default `1d`).
        group_by: Fields to group by, e.g. project_id, user_id, api_key_id,
            model, batch, service_tier (supported fields vary by category).
        project_ids: Only include usage for these projects.
        user_ids: Only include usage for these users.
        api_key_ids: Only include usage for these API keys.
        models: Only include usage for these models.
        limit: Number of time buckets to return.
        page: Pagination cursor from a previous response's `next_page`.
    
openai_get_costsA

Query the organization's daily spend breakdown.

    Args:
        start_time: Start of the query range, inclusive (Unix seconds).
        end_time: End of the query range, exclusive (Unix seconds).
        bucket_width: Time bucket size — only `1d` is currently supported.
        group_by: Fields to group by — project_id, line_item, api_key_id.
        project_ids: Only include costs for these projects.
        api_key_ids: Only include costs for these API keys.
        limit: Number of buckets to return (1-180, default 7).
        page: Pagination cursor from a previous response's `next_page`.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/MSPbotsAI/openai-workspace-mcp-'

If you have feedback or need assistance with the MCP directory API, please join our Discord server