YesTechie — UniFi Network & Security Integrator
UniFi quotes, case studies and network, camera, access config guides from a nationwide integrator.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"site": {
"url": "https://yestechie.com/api/mcp"
}
}
}远程端点
https://yestechie.com/api/mcpstreamable-http它能做什么
工具清单
工具(20)
🟢get_site_info
Every public YesTechie agent endpoint with URL, methods, auth and size. Use when you are unsure which tool fits; start here. (REST: GET /api/agent/v0/site)
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_about(detail, fields)
Company description, founders, office, contact and credentials. Use when the person asks who YesTechie is or whether it is licensed. (REST: GET /api/agent/v0/about)
输入模式
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"enum": [
"full"
]
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
}
},
"additionalProperties": false
}🟢get_team(idOrSlug, detail, fields)
Published founders (list), or one founder in full with idOrSlug. Use when the person asks who runs YesTechie. (REST: GET /api/agent/v0/team[/{idOrSlug}])
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string"
},
"detail": {
"type": "string",
"enum": [
"full"
]
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
}
},
"additionalProperties": false
}🟢get_contact_info
Office address, phone and email. Use when the person wants to reach YesTechie themselves. (REST: GET /api/agent/v0/contact-info)
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_join_our_team
Hiring page text, office address, phone and email. Use when the person asks about jobs at YesTechie. (REST: GET /api/agent/v0/join-our-team)
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_pages(slug)
Every published page with its canonical URL, or one page as plain text with slug. Use when you need to cite or link a yestechie.com page. (REST: GET /api/agent/v0/pages[/{slug}])
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string"
}
},
"additionalProperties": false
}🟢get_clients(detail, fields)
Client logos, map count, deployments by state and city. Use when the person asks who YesTechie has worked for. (REST: GET /api/agent/v0/clients)
输入模式
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"enum": [
"full"
]
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
}
},
"additionalProperties": false
}🟢get_coverage(detail)
Check whether YesTechie serves a location: California HQ, deployments by state and city, travel policy. Use when the person asks if YesTechie works in their area, or before quoting a site outside California. (REST: GET /api/agent/v0/coverage)
输入模式
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"enum": [
"full"
]
}
},
"additionalProperties": false
}🟢list_services(idOrSlug, page, limit, fields, detail)
Published YesTechie services (what we install and operate). Use when the person asks what YesTechie does or whether it offers a service. Lean list (id, slug, url, title, summary, date; page/limit/fields/detail), or one item in full with idOrSlug. (REST: GET /api/agent/v0/services[/{idOrSlug}])
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string"
},
"page": {
"type": "integer",
"minimum": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
},
"detail": {
"type": "string",
"enum": [
"full"
]
}
},
"additionalProperties": false
}🟡list_projects(idOrSlug, page, limit, fields, detail)
Completed YesTechie projects: real case studies from installs (warehouses, plants, offices, schools, churches, gated sites). One item returns title, summary, tags, the full write-up (typically client background and challenge, solution and equipment, results), headings, photos and videos. Use when the person wants real deployment examples / case studies. Lean list (id, slug, url, title, summary, date; page/limit/fields/detail), or one item in full with idOrSlug. (REST: GET /api/agent/v0/projects[/{idOrSlug}])
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string"
},
"page": {
"type": "integer",
"minimum": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
},
"detail": {
"type": "string",
"enum": [
"full"
]
}
},
"additionalProperties": false
}🟡list_articles(idOrSlug, page, limit, fields, detail)
Practical configuration guides and technical articles: UniFi network, Wi-Fi, cameras (Protect) and access control (Access, Identity, intercom), plus cabling and home networking. One item returns title, summary, author, tags, the full step-by-step body, headings and source links. Use when the person asks how to set up, configure or choose UniFi network, Wi-Fi, camera or door-access gear. Lean list (id, slug, url, title, summary, date; page/limit/fields/detail), or one item in full with idOrSlug. (REST: GET /api/agent/v0/articles[/{idOrSlug}])
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string"
},
"page": {
"type": "integer",
"minimum": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
},
"detail": {
"type": "string",
"enum": [
"full"
]
}
},
"additionalProperties": false
}🟢get_article(idOrSlug)
One practical configuration guide or technical article in full (UniFi network, Wi-Fi, cameras, access control, cabling): title, summary, author, tags, step-by-step body, headings, images and source links. Use when you know which guide answers the person (from list_articles) and need its steps. (REST: GET /api/agent/v0/articles/{idOrSlug})
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string",
"maxLength": 200,
"description": "Numeric id or slug from the list tool"
}
},
"required": [
"idOrSlug"
],
"additionalProperties": false
}🟡get_project(idOrSlug)
One completed YesTechie project case study in full: title, summary, tags, the write-up (typically client background and challenge, solution and equipment, results), headings, photos and videos. Use when the person wants details of a real deployment like theirs (find it with list_projects). (REST: GET /api/agent/v0/projects/{idOrSlug})
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string",
"maxLength": 200,
"description": "Numeric id or slug from the list tool"
}
},
"required": [
"idOrSlug"
],
"additionalProperties": false
}🟢get_service(idOrSlug)
One YesTechie service in full: what is included and how it is delivered. Use when the person asks about a specific service (find it with list_services). (REST: GET /api/agent/v0/services/{idOrSlug})
输入模式
{
"type": "object",
"properties": {
"idOrSlug": {
"type": "string",
"maxLength": 200,
"description": "Numeric id or slug from the list tool"
}
},
"required": [
"idOrSlug"
],
"additionalProperties": false
}🟢get_page(slug)
One published yestechie.com page as plain text with its canonical URL. Use when you need the full text of a page to cite (find the slug with list_pages). (REST: GET /api/agent/v0/pages/{slug})
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢get_pricing(kind, category, q, page, limit, ...)
Catalog list prices (USD, pre-tax, before scope): equipment (MSRP) or labor (standard rates). Use when the person asks what one item or labor task costs; use unifi_estimate for a whole project. (REST: GET /api/agent/v0/pricing/{equipment|labor})
输入模式
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"equipment",
"labor"
]
},
"category": {
"type": "string"
},
"q": {
"type": "string"
},
"page": {
"type": "integer",
"minimum": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"fields": {
"type": "string",
"description": "Comma-separated field names"
},
"detail": {
"type": "string",
"enum": [
"full"
]
}
},
"required": [
"kind"
],
"additionalProperties": false
}🟢get_unifi_questions(view)
Step 1: returns the questions and JSON template to fill for unifi_estimate. Use when the person wants a price for a project. (REST: GET /api/agent/v0/unifi_estimate/questions)
输入模式
{
"type": "object",
"properties": {
"view": {
"type": "string",
"enum": [
"lean",
"smallest",
"requestSchema",
"full"
],
"default": "smallest"
}
},
"additionalProperties": false
}🟡unifi_estimate(answers, detail)
Itemized price for a UniFi Wi-Fi, camera and door-access install at a given site address. Input the filled question set from get_unifi_questions. Returns equipment, labor, travel lines, totals and a quoteRef. Nothing is saved or sent. Use when the person wants a price for Wi-Fi, cameras or door access at a real address. (REST: POST /api/agent/v0/unifi_estimate)
输入模式
{
"type": "object",
"properties": {
"answers": {
"type": "object",
"description": "The filled question set template (site, infra, wifi, cameras, access, doors[], doorDefaults, gates[], ...)"
},
"detail": {
"type": "string",
"enum": [
"full"
]
}
},
"required": [
"answers"
],
"additionalProperties": false
}🟡submit_contact(fullName, organization, email, phone, message, ...)
Request a site survey or callback. Attach quoteRef. Use when the person explicitly asks to be contacted and has supplied name and email or phone; it sends a real email. 3 per IP and 2 per email per day. (REST: POST /api/agent/v0/contact)
输入模式
{
"type": "object",
"properties": {
"fullName": {
"type": "string",
"maxLength": 200
},
"organization": {
"type": "string",
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 254
},
"phone": {
"type": "string",
"maxLength": 40
},
"message": {
"type": "string",
"maxLength": 5000
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 255,
"description": "Sent as the Idempotency-Key header (retry safely)"
},
"quoteRef": {
"type": "string",
"maxLength": 2000,
"description": "Optional: the quoteRef from get_quote / unifi_estimate (valid 24 h). Attaches that estimate to the request."
}
},
"required": [
"fullName",
"email",
"message"
],
"additionalProperties": false
}🟡submit_join_application(fullName, organization, email, phone, message, ...)
Apply to join the team, exactly like the /join-our-team form. Use when the person asks to apply. Sends real email to YesTechie and a confirmation to the sender: call only when the person asked you to. 3 per IP and 2 per email per day. (REST: POST /api/agent/v0/join-our-team)
输入模式
{
"type": "object",
"properties": {
"fullName": {
"type": "string",
"maxLength": 200
},
"organization": {
"type": "string",
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 254
},
"phone": {
"type": "string",
"maxLength": 40
},
"message": {
"type": "string",
"maxLength": 5000
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 255,
"description": "Sent as the Idempotency-Key header (retry safely)"
}
},
"required": [
"fullName",
"email",
"message"
],
"additionalProperties": false
}社区
证据