CANOPY Coworking

CANOPY's official assistant: Bay Area coworking locations, prices, tour booking and sales questions.

사용해야 할까요

품질 및 안전성

B
설명 품질
93%
스키마 완전성
63%
이름 품질
91%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,525토큰 (도구 정의)
~1.9 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.97%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "sales": {
      "url": "https://mcp.canopy.space/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.canopy.space/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_locations(conversation_id)

All CANOPY locations: name, neighborhood, address, whether it is open or opening soon, the memberships offered there with starting prices, and how tours are booked. No contact details needed.

입력 스키마

{
  "type": "object",
  "properties": {
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    }
  },
  "title": "list_locationsArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_locationsDictOutput"
}
🟢get_location(location_id, conversation_id)

Everything published about one location: address, transit, amenities, photos, memberships and that location's own starting prices, the meeting-room booking link, and how tours are booked. Use a location_id from list_locations.

입력 스키마

{
  "type": "object",
  "properties": {
    "location_id": {
      "title": "Location Id",
      "type": "string"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    }
  },
  "required": [
    "location_id"
  ],
  "title": "get_locationArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_locationDictOutput"
}
🟢get_membership_options(location_id, conversation_id)

CANOPY's memberships (Private Office, Personal Desk, Community Table, Hybrid, Nomad, Virtual Office, Team Suites): what each includes, its starting price and where it is offered. Without a location_id the price is the lowest across locations; with one, it is that location's price.

입력 스키마

{
  "type": "object",
  "properties": {
    "location_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Location Id"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    }
  },
  "title": "get_membership_optionsArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_membership_optionsDictOutput"
}
🟢get_tour_slots(location_id, date_from, date_to, tour_type, conversation_id)

Open tour times at one location from CANOPY's live tour calendar, in Pacific time. tour_type is in_person (default), virtual or test_drive. Dates are YYYY-MM-DD; the default is the next 7 days, at most 21. If no times are open, the answer lists the alternatives in order: that location's virtual tour, request_tour, and the nearest other location's times (marked as a different location). No contact details needed.

입력 스키마

{
  "type": "object",
  "properties": {
    "location_id": {
      "title": "Location Id",
      "type": "string"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Date From"
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Date To"
    },
    "tour_type": {
      "default": "in_person",
      "title": "Tour Type",
      "type": "string"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    }
  },
  "required": [
    "location_id"
  ],
  "title": "get_tour_slotsArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_tour_slotsDictOutput"
}
🟢get_canopy_capabilities(capability, location_id, conversation_id)

Checks one capability against CANOPY's published facts, overall or at one location: e.g. 24/7 access, private VLAN, wired internet, parking, boardroom, event space, phone booths, dogs, showers, team size. Answers yes, no, location_dependent or ask_team (CANOPY doesn't publish it: CANOPY's team confirms; never assume yes), with each location's answer and the page it comes from. No contact details needed.

입력 스키마

{
  "type": "object",
  "properties": {
    "capability": {
      "title": "Capability",
      "type": "string"
    },
    "location_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Location Id"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    }
  },
  "required": [
    "capability"
  ],
  "title": "get_canopy_capabilitiesArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_canopy_capabilitiesDictOutput"
}
🟢match_canopy_workspace(team_size, area, workspace_type, budget_per_month, must_haves, ...)

Which CANOPY locations fit a need, from what's published: team size, area or landmark (e.g. 'near the Ferry Building', 'Montgomery', 'Pac Heights'), workspace type, monthly budget and must-haves. Returns each location's fit (strong, possible or poor) with reasons, the membership that fits and its starting price or 'contact sales', what CANOPY's team should confirm, and the next step. Never picks or reserves a specific office. No contact details needed.

입력 스키마

{
  "type": "object",
  "properties": {
    "team_size": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Team Size"
    },
    "area": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Area"
    },
    "workspace_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Workspace Type"
    },
    "budget_per_month": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Budget Per Month"
    },
    "must_haves": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Must Haves"
    },
    "start_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Start Date"
    },
    "notes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Notes"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    }
  },
  "title": "match_canopy_workspaceArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "match_canopy_workspaceDictOutput"
}
🟢book_tour(location_id, slot_start, name, email, company, ...)

Books a tour time from get_tour_slots. Step 1, without confirm_token: returns a preview of the details and a confirm_token (valid 10 minutes); nothing is saved. Show the preview to the person. Step 2, with the same details and the confirm_token: returns a Calendly link with the details filled in, which the person opens to confirm the booking, and passes the details to CANOPY's sales team. Only call step 2 after the person agrees.

입력 스키마

{
  "type": "object",
  "properties": {
    "location_id": {
      "title": "Location Id",
      "type": "string"
    },
    "slot_start": {
      "title": "Slot Start",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    },
    "email": {
      "title": "Email",
      "type": "string"
    },
    "company": {
      "title": "Company",
      "type": "string"
    },
    "team_size": {
      "title": "Team Size",
      "type": "integer"
    },
    "tour_type": {
      "default": "in_person",
      "title": "Tour Type",
      "type": "string"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Phone"
    },
    "notes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Notes"
    },
    "confirm_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Confirm Token"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    },
    "leave_empty": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Leave Empty"
    }
  },
  "required": [
    "location_id",
    "slot_start",
    "name",
    "email",
    "company",
    "team_size"
  ],
  "title": "book_tourArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "book_tourDictOutput"
}
⚪request_tour(location_id, preferred_times, name, email, company, ...)

Asks CANOPY's sales team to arrange a tour at a location, for times that suit the person: for locations booked by request, locations not yet open, or when no listed time works. Step 1, without confirm_token: returns a preview and a confirm_token (valid 10 minutes); nothing is saved. Step 2, with the same details and the confirm_token: sends the request. A CANOPY sales manager follows up within one business day. Only call step 2 after the person agrees.

입력 스키마

{
  "type": "object",
  "properties": {
    "location_id": {
      "title": "Location Id",
      "type": "string"
    },
    "preferred_times": {
      "title": "Preferred Times",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    },
    "email": {
      "title": "Email",
      "type": "string"
    },
    "company": {
      "title": "Company",
      "type": "string"
    },
    "team_size": {
      "title": "Team Size",
      "type": "integer"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Phone"
    },
    "notes": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Notes"
    },
    "confirm_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Confirm Token"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    },
    "leave_empty": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Leave Empty"
    }
  },
  "required": [
    "location_id",
    "preferred_times",
    "name",
    "email",
    "company",
    "team_size"
  ],
  "title": "request_tourArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "request_tourDictOutput"
}
⚪ask_sales_question(name, email, question, company, team_size, ...)

Sends a question to a CANOPY sales manager, who replies by email within one business day: for anything the other tools don't answer, such as a specific price, a move-in date or a custom space. Step 1, without confirm_token: returns a preview and a confirm_token (valid 10 minutes); nothing is saved. Step 2, with the same details and the confirm_token: sends the question. Only call step 2 after the person agrees.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "email": {
      "title": "Email",
      "type": "string"
    },
    "question": {
      "title": "Question",
      "type": "string"
    },
    "company": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Company"
    },
    "team_size": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Team Size"
    },
    "location_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Location Id"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Phone"
    },
    "confirm_token": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Confirm Token"
    },
    "conversation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Conversation Id"
    },
    "leave_empty": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Leave Empty"
    }
  },
  "required": [
    "name",
    "email",
    "question"
  ],
  "title": "ask_sales_questionArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "ask_sales_questionDictOutput"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 9개