One Coworking

Find and compare coworking spaces and offices in 300+ European cities; get office quotes.

我該用這個嗎

品質與安全性

A
說明品質
96%
結構描述完整度
90%
命名品質
91%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~4,868Token(工具定義)
~3.1 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.80%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mcp": {
      "url": "https://www.onecoworking.com/api/mcp"
    }
  }
}

遠端端點

https://www.onecoworking.com/api/mcpstreamable-http

它能做什麼

工具清單

工具(11)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢get_booking_links(product, venue_slugs, city, near, date, ...)

Use this when the person wants a day pass or a meeting room. Pass up to 3 venue slugs from search_venues (or only a city — and near, when they want to be close to a place — for the nearest spaces that book directly), the date and how many people. Returns, per space, a One Coworking booking link with date and party size filled in — confirmed when the person pays — or the venue page where they send a request (the space confirms by hand, so prefer instant spaces for a close date). A day pass for several days at one space is one link and one checkout: pass dates (up to 10). A meeting room is one day per link; a workshop or event with a room on several days, several rooms, catering or a seating layout needs a quote, not a link: use request_meeting_space. Not for private offices: use request_office_quotes.

輸入結構描述

{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "enum": [
        "day_pass",
        "meeting_room"
      ]
    },
    "venue_slugs": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
      }
    },
    "city": {
      "description": "Only needed without venue_slugs.",
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    },
    "near": {
      "description": "A station, landmark, hotel or street address to be close to, e.g. \"Hauptbahnhof\", \"Sendlinger Straße 10\". Without venue_slugs: the spaces nearest to it that book directly; with them: walking minutes to each.",
      "type": "string",
      "minLength": 2,
      "maxLength": 120
    },
    "date": {
      "description": "YYYY-MM-DD.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "dates": {
      "description": "A day pass for several days at one space: every day, YYYY-MM-DD (consecutive or not). Instead of date.",
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
      }
    },
    "people": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "end_time": {
      "description": "HH:MM the space is needed until (skips spaces closed by then).",
      "type": "string",
      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
    }
  },
  "required": [
    "product"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢start_office_brief(city, team_size, team_size_in_12_months, format, area, ...)

Use this when someone is looking for an office, desks for a team or a team space, before searching or shortlisting. Pass what the person already said; returns the questions still open (in a broker's order, with the city's real districts) and when to search. Call it again as answers come in. Not for day passes or meeting rooms.

輸入結構描述

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    },
    "team_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "team_size_in_12_months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "format": {
      "description": "private_room = a room with a door.",
      "type": "string",
      "enum": [
        "private_room",
        "fixed_desks",
        "flex_desks"
      ]
    },
    "area": {
      "description": "Districts, a station or street they named.",
      "type": "string",
      "maxLength": 160
    },
    "budget_monthly_eur": {
      "description": "Total per month for the team.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "move_in": {
      "type": "string",
      "maxLength": 40
    },
    "usage_term": {
      "type": "string",
      "maxLength": 40
    },
    "must_haves": {
      "type": "string",
      "maxLength": 400
    },
    "context": {
      "description": "Stage, what matters most, current space.",
      "type": "string",
      "maxLength": 400
    },
    "current_lease_end": {
      "description": "When their current lease ends, YYYY-MM-DD.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "decision": {
      "description": "Who decides and by when: a role (themselves, founder, CFO, board, parent company), never a person's name, plus the date if they named one.",
      "type": "string",
      "maxLength": 300
    },
    "alternatives": {
      "description": "What else they consider: a traditional lease, a sublease, staying, going remote, another broker, spaces asked directly.",
      "type": "string",
      "maxLength": 300
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢search_venues(city, product, max_price, bookable, team_size, ...)

Use this when the person wants spaces in a city listed on One Coworking. product filters (day_pass, meeting_room, private_office, office_suite, flex_desk, fix_desk, day_office, membership); max_price is EUR in that product's unit (offices: per desk per month, day passes: per day, meeting rooms: per hour). For private_office / office_suite the answer is a broker's shortlist — the well-known brands in the city, then local operators that fit team_size and area; view "list" gives the plain list ranked by fit and price instead. bookable "instant" / "online" keeps venues that book online. Cite the venue pages; get_venue has one venue's details.

輸入結構描述

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "City name in English, e.g. \"Berlin\", \"Munich\", \"London\"."
    },
    "product": {
      "type": "string",
      "enum": [
        "day_pass",
        "meeting_room",
        "private_office",
        "flex_desk",
        "fix_desk",
        "day_office",
        "membership",
        "office_suite"
      ]
    },
    "max_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "bookable": {
      "type": "string",
      "enum": [
        "instant",
        "online"
      ]
    },
    "team_size": {
      "description": "People the office must seat. Ranks offices that fit first; applies with product private_office or office_suite.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "area": {
      "description": "Districts the person wants, e.g. \"Kreuzberg or Mitte\" — office shortlists prefer spaces there.",
      "type": "string",
      "maxLength": 160
    },
    "near": {
      "description": "A station, landmark, hotel or street address in the city to be close to, e.g. \"Hauptbahnhof\", \"Rudi-Dutschke-Straße 5\". Ranks spaces by walking minutes from it.",
      "type": "string",
      "minLength": 2,
      "maxLength": 120
    },
    "budget_monthly_eur": {
      "description": "Total monthly budget for the team, EUR — office shortlists say which options fit it.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "view": {
      "description": "Office searches only: shortlist (default) or the plain ranked list.",
      "type": "string",
      "enum": [
        "shortlist",
        "list"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "city"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_venue(slug)

Everything One Coworking publishes about one venue, as Markdown: address, district, starting prices with units and the date they were checked, private offices the operator confirmed (price, desks, m², term, move-in date, confirmation date), opening hours, amenities, rating, FAQ, and how to book or request an offer. `slug` is the last path segment of the venue URL (https://www.onecoworking.com/venues/{slug}).

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9-]{0,200}$",
      "description": "Venue slug, e.g. \"betahaus-barcelona\"."
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢city_prices(city)

Typical starting list prices in a city across its public venues: day pass per day, private office per desk per month, desks (flex / fixed) per month, meeting room per hour — 10th–90th percentile with the median, recomputed hourly from live listings. Private offices and desks are separate lines: the office range never includes a desk price.

輸入結構描述

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    }
  },
  "required": [
    "city"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢team_coverage(cities)

For a company whose people work from several cities: what they can book INSTANTLY on a One Coworking team account in each named city — spaces with an instantly bookable day pass, their median day-pass price (net EUR, what the team pays in credits) and how many also have bookable meeting rooms. Same numbers as https://www.onecoworking.com/solutions/teams. Use it before recommending a team account; the answer also carries the account terms (1 credit = €1 net, €500 first top-up, credits valid 6 months, no per-seat fee) and the link to the free coverage check for cities not covered yet.

輸入結構描述

{
  "type": "object",
  "properties": {
    "cities": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 2,
        "maxLength": 80
      },
      "description": "City names in English or the local language, e.g. [\"Berlin\", \"München\", \"Lisboa\"]."
    }
  },
  "required": [
    "cities"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴request_office_quotes(firstname, lastname, company, email, phone, ...)

Use this when the person wants prices and availability for an office or team space and the brief is clear (start_office_brief): One Coworking asks the spaces and negotiates for them, free for the person. Only after they agreed to share name, company and email. Pass every answer from the brief and up to 6 venue slugs they want asked. Nothing reaches a space yet: they get a 6-digit code by email — then call confirm_email_code. Not for day passes or meeting rooms (monthly_membership = desks on a monthly plan).

輸入結構描述

{
  "type": "object",
  "properties": {
    "firstname": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "lastname": {
      "type": "string",
      "maxLength": 100
    },
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The company, or \"private\" for an individual."
    },
    "email": {
      "type": "string",
      "maxLength": 200,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string",
      "maxLength": 40
    },
    "inquiry_type": {
      "default": "private_office",
      "type": "string",
      "enum": [
        "private_office",
        "monthly_membership"
      ]
    },
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100
    },
    "area": {
      "description": "District(s), street or station they want to be near.",
      "type": "string",
      "maxLength": 120
    },
    "team_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "move_in_timeframe": {
      "type": "string",
      "enum": [
        "immediate",
        "1m",
        "3m",
        "flexible"
      ]
    },
    "move_in_date": {
      "description": "A move-in day the person named, YYYY-MM-DD.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "usage_term": {
      "description": "How long: 1_3m, 3_12m, 12m_plus, flexible, …",
      "type": "string",
      "enum": [
        "one_off",
        "multi_day",
        "weeks",
        "1_3m",
        "3_12m",
        "12m_plus",
        "flexible"
      ]
    },
    "budget_monthly_min_eur": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "budget_monthly_max_eur": {
      "description": "Total monthly budget in EUR, not per desk.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000
    },
    "team_size_in_12_months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "format": {
      "description": "private_room = a room with a door.",
      "type": "string",
      "enum": [
        "private_room",
        "fixed_desks",
        "flex_desks"
      ]
    },
    "must_haves": {
      "description": "Must-haves and deal-breakers.",
      "type": "string",
      "maxLength": 400
    },
    "context": {
      "description": "Stage, what matters most, current space, spaces already contacted.",
      "type": "string",
      "maxLength": 400
    },
    "current_lease_end": {
      "description": "When their current lease ends, YYYY-MM-DD.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "decision": {
      "description": "Who decides and by when: a role (themselves, founder, CFO, board, parent company), never a person's name, plus the date if they named one.",
      "type": "string",
      "maxLength": 300
    },
    "alternatives": {
      "description": "What else they consider: a traditional lease, a sublease, staying, going remote, another broker, spaces asked directly.",
      "type": "string",
      "maxLength": 300
    },
    "message": {
      "description": "Anything else the broker should know.",
      "type": "string",
      "maxLength": 4000
    },
    "venue_slugs": {
      "default": [],
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
      }
    },
    "locale": {
      "description": "Language for One Coworking's emails.",
      "type": "string",
      "enum": [
        "en",
        "de",
        "pl",
        "es"
      ]
    },
    "consent": {
      "type": "boolean",
      "const": true,
      "description": "true: the person agreed that One Coworking stores these details and contacts spaces for them."
    }
  },
  "required": [
    "firstname",
    "company",
    "email",
    "city",
    "team_size",
    "consent"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢request_meeting_space(firstname, lastname, company, email, phone, ...)

Use this when the person needs a meeting room or event space that one booking link cannot carry: several days (each with its own times and headcount), several rooms at the same time, a seating layout, catering or equipment — e.g. a 2-day workshop for 20 with a projector and lunch, or two rooms in parallel for interviews. One room on one day: get_booking_links. A regular slot (every week, every second Monday) is a monthly membership: request_office_quotes with inquiry_type monthly_membership. Before calling, read the whole request back to the person — days, times, people, rooms, layout, catering, equipment, budget, spaces — and get their yes; only after they agreed to share name, company and email. No guest list. Pass up to 3 venue slugs from search_venues (the first is asked first), or only a city. Nothing reaches a space yet: the person gets a 6-digit code by email — then call confirm_email_code. The space and One Coworking confirm availability and price by email; this call books nothing.

輸入結構描述

{
  "type": "object",
  "properties": {
    "firstname": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "lastname": {
      "type": "string",
      "maxLength": 100
    },
    "company": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The company, or \"private\" for an individual."
    },
    "email": {
      "type": "string",
      "maxLength": 200,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string",
      "maxLength": 40
    },
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100
    },
    "near": {
      "description": "A street, station or district to be near, in the person's words. No names or contact details.",
      "type": "string",
      "maxLength": 120
    },
    "days": {
      "minItems": 1,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "YYYY-MM-DD, today or later."
          },
          "from": {
            "type": "string",
            "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
            "description": "Start, HH:MM (24 h)."
          },
          "to": {
            "type": "string",
            "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
            "description": "End, HH:MM (24 h), after the start."
          },
          "people": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "required": [
          "date",
          "from",
          "to",
          "people"
        ]
      },
      "description": "One row per day, all within a month: e.g. Tue 12:00–18:00 for 20, Wed 08:00–14:00 for 20."
    },
    "rooms": {
      "default": 1,
      "description": "Rooms needed at the same time — 2 for parallel interviews, 5 for a plenary and four breakouts.",
      "type": "integer",
      "minimum": 1,
      "maximum": 6
    },
    "layout": {
      "default": "any",
      "type": "string",
      "enum": [
        "boardroom",
        "classroom",
        "theatre",
        "u_shape",
        "workshop_tables",
        "any"
      ]
    },
    "catering": {
      "default": [],
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "coffee",
          "drinks",
          "lunch",
          "snacks"
        ]
      }
    },
    "av": {
      "default": [],
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "screen",
          "projector",
          "video_conferencing",
          "whiteboard",
          "flipchart"
        ]
      }
    },
    "budget_total_eur": {
      "description": "For the whole booking in EUR, not per hour or per day.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000
    },
    "must_haves": {
      "description": "Anything else the space must offer, in the person's words — e.g. step-free access, vegetarian lunch. No names, company or contact details.",
      "type": "string",
      "maxLength": 300
    },
    "venue_slugs": {
      "default": [],
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
      }
    },
    "locale": {
      "description": "Language for One Coworking's emails.",
      "type": "string",
      "enum": [
        "en",
        "de",
        "pl",
        "es"
      ]
    },
    "consent": {
      "type": "boolean",
      "const": true,
      "description": "true: the person agreed that One Coworking stores these details and passes the request to spaces for them."
    }
  },
  "required": [
    "firstname",
    "company",
    "email",
    "city",
    "days",
    "consent"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢confirm_email_code(request_id, code)

Confirm an office or meeting request with the 6-digit code One Coworking emailed the person. Only then does the request reach One Coworking. Returns a reference and an access key — keep the key for get_request_status (and, for an office, request_viewing) in this conversation.

輸入結構描述

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "code": {
      "type": "string",
      "minLength": 6,
      "maxLength": 12
    }
  },
  "required": [
    "request_id",
    "code"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_request_status(access_key)

Where a confirmed office or meeting request stands: stage, how many spaces were asked, how many answered with a price, and the viewings requested. Prices are not shown here — they reach the person by email.

輸入結構描述

{
  "type": "object",
  "properties": {
    "access_key": {
      "type": "string",
      "minLength": 10,
      "maxLength": 100,
      "description": "The access key confirm_email_code returned."
    }
  },
  "required": [
    "access_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪request_viewing(access_key, venue_slug, dates, visitors, notes)

Ask One Coworking to arrange a viewing of a space for a confirmed office request. Give up to 3 preferred dates, each before lunch (am), afternoon (pm) or either. A broker agrees the time with the space and confirms it to the person by email, usually within one working day — this call does not confirm a time.

輸入結構描述

{
  "type": "object",
  "properties": {
    "access_key": {
      "type": "string",
      "minLength": 10,
      "maxLength": 100,
      "description": "The access key confirm_email_code returned."
    },
    "venue_slug": {
      "type": "string",
      "pattern": "^[a-z0-9][a-z0-9-]{0,200}$"
    },
    "dates": {
      "minItems": 1,
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "window": {
            "default": "either",
            "type": "string",
            "enum": [
              "am",
              "pm",
              "either"
            ]
          }
        },
        "required": [
          "date"
        ]
      }
    },
    "visitors": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "notes": {
      "type": "string",
      "maxLength": 1000
    }
  },
  "required": [
    "access_key",
    "venue_slug",
    "dates"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本11 個工具