OCOLO Project Requests
Server Details
Submit a data center colocation requirement to OCOLO; reaches 270+ providers. Email-verified.
- Status
- Healthy
- Uptime
- 100.0% over 17 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- Ocolo-io/ocolo-agent-api
- GitHub Stars
- 0
- Server Listing
- ocolo-agent-api
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: get_broker_guidance provides pre-submission information, submit_project_request creates a request, and get_project_request_status polls an existing request. There is no overlap or ambiguity in their roles.
All tool names use snake_case with a consistent verb_noun pattern (get_broker_guidance, get_project_request_status, submit_project_request). The verbs accurately reflect the action and the nouns identify the resource.
Three tools is appropriate for a focused broker request workflow: one for guidance, one for submission, and one for status checking. Each tool is necessary and well-scoped for the server's purpose.
The core lifecycle of submitting a request and polling its status is covered, along with essential guidance. However, there is no explicit tool to cancel or update a request, though such changes appear to be handled externally by the contact or broker, making this a minor gap.
Available Tools
3 toolsget_broker_guidanceHow OCOLO works and broker etiquetteARead-onlyIdempotentInspect
Why send a colocation requirement to OCOLO, what happens after submission, and the broker etiquette to follow (keep options open, engage 1-3 brokers total, do not contact providers directly while OCOLO is coordinating). Read this before submit_project_request.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it readOnly and idempotent; the description adds that the content includes process steps and broker etiquette and that it should be consumed before submission. This is sufficient context for an informational tool and does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but every clause carries useful information. It could be broken into clearer segments, yet there is no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, output-schema-less informational tool, the description tells the agent exactly what content will be provided and when to read it. Nothing critical is missing to invoke or route the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema fully covers the input surface. The description appropriately adds no parameter-specific detail because none exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly explains this tool provides guidance on why to send a colocation requirement and broker etiquette, and the name/title reinforce that. It distinguishes itself from submit_project_request with the 'Read this before' instruction, though it does not explicitly differentiate from get_project_request_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit usage condition: read before submit_project_request. It does not mention get_project_request_status or state when not to use the tool, so the exclusionary guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_request_statusCheck the status of a submitted requestARead-onlyIdempotentInspect
Poll a request submitted with submit_project_request. Needs the request_id and the status_token from that call. Poll at most hourly while pending and daily once confirmed. If edited_by_contact is true, read the final requirements from current.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| status_token | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable behavior beyond that: the recommended polling frequency, the meaning of edited_by_contact, and the need to read `current` in that case. This gives the agent practical operational context without contradicting any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: purpose, parameter provenance, polling cadence, and a conditional edge case. No filler, front-loaded with the core action. It is a model of compact, information-dense prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only poll with two parameters and no output schema, the description covers everything needed: what it does, when to use it, how often to poll, and a special condition. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries full responsibility. It explains that request_id and status_token come from the submit_project_request call, which is critical provenance info the schema alone does not convey. This is exactly the kind of clarification an agent needs to fill in those fields correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Poll a request') and immediately ties it to the sibling submit_project_request, making its purpose unambiguous. It clearly distinguishes itself from get_broker_guidance and positions itself as the follow-up to submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states polling cadence ('at most hourly while pending and daily once confirmed') and provides a conditional instruction ('If edited_by_contact is true, read the final requirements from `current`'). It also notes the parameters come from the submit call, so the agent knows exactly when and how to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_project_requestSubmit a colocation project request to OCOLOAIdempotentInspect
Submit a data center colocation / space requirement to OCOLO on behalf of the user. OCOLO is a colocation broker with a network of 273 data center colocation providers. Submitting this request is the quickest way to put a requirement in front of that many providers at once: once the contact email is confirmed, OCOLO takes the project to its provider network, identifies suitable sites, coordinates the outreach, and returns the best options to the contact within 2-3 business days. Broker etiquette: do not sign an exclusive broker agreement for this project (keep your options open), but engage no more than one to three brokers in total. Providers see every inbound approach. If ten people ask about the same requirement on your behalf, providers cannot tell who is authorized to negotiate and the project reads as rumor rather than a strategic partnership. Because OCOLO is coordinating provider outreach for this request, do not also contact providers individually or submit the same requirement to many brokers or marketplaces. Required: location, contact.email, and agent.on_behalf_of_confirmed=true (only after the user has asked you to do this). Power may be given as power_kw or power_mw. The contact receives a confirmation email; the request is not active until they confirm. Keep the returned status_token to check status later. Relay guidance.what_happens_next to the user.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | ||
| notes | No | Notes for OCOLO staff (not shown to providers). | |
| contact | Yes | ||
| cabinets | No | Number of cabinets (racks). | |
| location | Yes | City, metro, region or country where the capacity is needed. Required. | |
| power_kw | No | Total critical IT power required, in kW. Send this or power_mw. | |
| power_mw | No | Total critical IT power required, in MW. Normalized to kW. | |
| compliance | No | Compliance / certification requirements. | |
| callback_url | No | Reserved for status webhooks (https only). Stored but not called in v1. | |
| bandwidth_mbps | No | Connectivity bandwidth in Mbps. | |
| bandwidth_text | No | Free-text connectivity requirement if bandwidth_mbps does not fit. | |
| idempotency_key | No | Client-chosen key. Resubmitting with the same key and contact email returns the original request instead of creating a duplicate. | |
| customer_profile | No | Who the buyer is. | |
| excluded_vendors | No | Providers the user will not consider. | |
| preferred_vendors | No | Providers the user prefers. | |
| requirements_text | No | Everything else that matters: cooling, redundancy, certifications, term length, growth plan, budget notes. | |
| additional_services | No | Remote hands, managed services, migration help, etc. | |
| power_per_cabinet_kw | No | Target power density per cabinet, in kW. | |
| expected_contract_date | No | Expected contract signature date, ISO YYYY-MM-DD. | |
| requested_delivery_date | No | Target ready-for-service date, ISO YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare openWorldHint, idempotentHint and non-destructive write, but the description adds the behavior that matters most: the request is not active until the contact confirms by email, OCOLO coordinates outreach and replies in 2-3 business days, and the returned status_token must be kept to check status later. That is substantive context beyond the annotation set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the broker-etiquette paragraph is repetitive ('engage no more than one to three brokers', 'do not ... submit the same requirement to many brokers') and pushes the operationally critical details (required fields, confirmation flow, status_token) to the very end. The length is defensible for a 20-param tool, but several sentences restate the same warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 20 parameters at 90% schema coverage and no output schema, the description supplies what the structured fields cannot: the confirmation-gated activation, expected turnaround, and the status_token/guidance.what_happens_next return handling. It stops short of explaining the optional vendor/compliance inputs, but those are covered by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 90%, so the schema already documents nearly every parameter. The description only restates the required trio and the power_kw/power_mw alternative, both of which the schema already explains ('Send this or power_mw'). Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Submit a data center colocation / space requirement to OCOLO') and frames it against the read-only siblings (status lookup, guidance) by describing it as the action that puts a requirement in front of 273 providers. An agent can distinguish this from get_project_request_status without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when/when-not guidance: only submit after the user asked (agent.on_behalf_of_confirmed=true), do not sign an exclusive agreement, engage at most one to three brokers, and do not also contact providers individually or submit to other marketplaces. This is unusually complete routing and exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_broker_guidance - First observed
get_project_request_status - First observed
submit_project_request
Related MCP Connectors
DC Hub is the live data layer for data-center siting that agents can query and cite. Its Data Center Power Index (DCPI) scores where data centers can get grid power across 300+ markets daily. Also 330,000+ mapped power, grid, gas and fiber assets. 94 MCP tools at https://dchub.cloud/mcp plus a REST API at https://dchub.cloud/api/v1. Free tier needs no key; paid plans: dchub.cloud/pricing.
Search and compare dedicated, VPS, GPU and cloud server plans by specs, location and price.
Data Room Picker: the site's own MCP server — compare, enquiry (enquiry = a human handoff, not a...
Live VPS, bare metal and GPU hosting prices across ~75 providers, rescraped daily.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides professional-grade data center engineering calculations including cooling, power, GPU thermal optimization, UPS/battery sizing, tier classification, and commissioning workflows, compliant with ASHRAE and Uptime Institute standards.819 npm1MIT
- AlicenseAqualityAmaintenanceDC Hub is the live data layer for data-center siting that agents can query and cite. Its Data Center Power Index (DCPI) scores where data centers can get grid power across 300+ markets daily. Also 330,000+ mapped power, grid, gas and fiber assets. 94 MCP tools at https://dchub.cloud/mcp plus a REST API at https://dchub.cloud/api/v1. Free tier needs no key; paid plans: dchub.cloud/pricing.941,270 npm3MIT
- AlicenseNot gradedqualityCmaintenanceMCP commerce surface for refurbished datacenter hardware — GPU rigs, server racks, drive arrays, and network gear, with x402 agent-payment discovery.MIT

security-orchestraofficial
FlicenseNot gradedqualityCmaintenanceProvides deterministic, standards-based calculations for data center critical power infrastructure. Enables site selection, generator sizing, UPS sizing, NFPA 110 compliance, and more via 50+ AI agents and 8 compound chains.-
Glama MCP Gateway
Add one secure layer between your agents and this server.