AIfra — temporary static previews
48-hour HTTPS previews of prebuilt static sites and HTML slides. No server builds or backends.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"aifra": {
"command": "npx",
"args": [
"aifra"
]
}
}
}可运行的软件包
0.2.0-beta.2stdio远程端点
https://api.aifra.ru/mcpstreamable-http它能做什么
工具清单
工具(6)
🟢get_deploy_instructions
Explain remote browser-confirmed AIfra publication of ready static files, limits and current terms.
输入模式
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_preview(files, archive_base64, archive, accept_terms)
Prepare a new temporary static preview. Supply exactly one of small files, ZIP archive_base64, or an allowed provider ZIP file reference. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser.
输入模式
{
"type": "object",
"properties": {
"files": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"content": {
"type": "string",
"maxLength": 1400000
},
"encoding": {
"type": "string",
"enum": [
"utf8",
"base64"
]
}
},
"required": [
"path",
"content"
],
"additionalProperties": false
}
},
"archive_base64": {
"type": "string",
"maxLength": 69905068
},
"archive": {
"type": "object",
"properties": {
"download_url": {
"type": "string",
"maxLength": 8192
},
"file_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"mime_type": {
"type": "string",
"maxLength": 100
},
"file_name": {
"type": "string",
"maxLength": 240
}
},
"required": [
"download_url",
"file_id"
],
"additionalProperties": false
},
"accept_terms": {
"type": "boolean",
"const": true
}
},
"required": [
"accept_terms"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_preview(files, archive_base64, archive, accept_terms, preview_id)
Prepare replacement of an existing temporary static preview. Supply exactly one of small files, ZIP archive_base64, or an allowed provider ZIP file reference. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser. Requires the browser holding the existing management key; expiry is unchanged.
输入模式
{
"type": "object",
"properties": {
"files": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"content": {
"type": "string",
"maxLength": 1400000
},
"encoding": {
"type": "string",
"enum": [
"utf8",
"base64"
]
}
},
"required": [
"path",
"content"
],
"additionalProperties": false
}
},
"archive_base64": {
"type": "string",
"maxLength": 69905068
},
"archive": {
"type": "object",
"properties": {
"download_url": {
"type": "string",
"maxLength": 8192
},
"file_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"mime_type": {
"type": "string",
"maxLength": 100
},
"file_name": {
"type": "string",
"maxLength": 240
}
},
"required": [
"download_url",
"file_id"
],
"additionalProperties": false
},
"accept_terms": {
"type": "boolean",
"const": true
},
"preview_id": {
"type": "string",
"pattern": "^pv_[A-Za-z0-9_-]{24}$"
}
},
"required": [
"accept_terms",
"preview_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_preview(preview_id, confirm_delete)
Prepare deletion of an existing preview. Does not delete until its owner confirms in the browser holding the management key.
输入模式
{
"type": "object",
"properties": {
"preview_id": {
"type": "string",
"pattern": "^pv_[A-Za-z0-9_-]{24}$"
},
"confirm_delete": {
"type": "boolean",
"const": true
}
},
"required": [
"preview_id",
"confirm_delete"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_operation_status(operation_id)
Read whether a prepared operation is pending, complete, failed or uncertain. Returns no file content or management key. Never assume pending means published.
输入模式
{
"type": "object",
"properties": {
"operation_id": {
"type": "string",
"pattern": "^rop_[A-Za-z0-9_-]{43}$"
}
},
"required": [
"operation_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_preview_status(preview_id)
Read public status, URL and original expiry of an existing preview.
输入模式
{
"type": "object",
"properties": {
"preview_id": {
"type": "string",
"pattern": "^pv_[A-Za-z0-9_-]{24}$"
}
},
"required": [
"preview_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}推荐提示词
get_deploy_instructionsget_deploy_instructions已记录的调用示例
get_preview_status输入参数
{
"preview_id": "example-1"
}输出结果
{
"result": {
"content": [
{
"type": "text",
"text": "MCP error -32602: Input validation error: Invalid arguments for tool get_preview_status: Invalid string: must match pattern /^pv_[A-Za-z0-9_-]{24}$/ at preview_id"
}
],
"isError": true
},
"durationMs": 153
}社区
证据