iFreeWork services, portfolio, blog, search, contacts and consent-gated messages.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
About page: who Andrey Zubar is, experience, stack and how he works. / Страница «О себе».
Content language: ru (default) or en. English exists only for translated pages.
About page: who Andrey Zubar is, experience, stack and how he works. / Страница «О себе».
| Argument | Type | Description |
|---|---|---|
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
}
},
"additionalProperties": false
}Full text of one blog article as Markdown. Pass id, slug or url. / Полный текст статьи.
| Argument | Type | Description |
|---|---|---|
| id | integer | Document id from a list result. |
| url | string | Canonical page URL or path from a list result. |
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
| slug | string | URL slug (alias) from a list result. |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Document id from a list result."
},
"url": {
"type": "string",
"maxLength": 500,
"description": "Canonical page URL or path from a list result."
},
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
},
"slug": {
"type": "string",
"maxLength": 200,
"description": "URL slug (alias) from a list result."
}
},
"additionalProperties": false
}Telegram and e-mail of the developer and how to send a message. / Контакты: Telegram и почта.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Full case description of one project as Markdown. Pass id, slug or url. / Полное описание работы.
| Argument | Type | Description |
|---|---|---|
| id | integer | Document id from a list result. |
| url | string | Canonical page URL or path from a list result. |
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
| slug | string | URL slug (alias) from a list result. |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Document id from a list result."
},
"url": {
"type": "string",
"maxLength": 500,
"description": "Canonical page URL or path from a list result."
},
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
},
"slug": {
"type": "string",
"maxLength": 200,
"description": "URL slug (alias) from a list result."
}
},
"additionalProperties": false
}Full text of one service page as Markdown. Pass id, slug or url. / Полный текст услуги.
| Argument | Type | Description |
|---|---|---|
| id | integer | Document id from a list result. |
| url | string | Canonical page URL or path from a list result. |
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
| slug | string | URL slug (alias) from a list result. |
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "Document id from a list result."
},
"url": {
"type": "string",
"maxLength": 500,
"description": "Canonical page URL or path from a list result."
},
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
},
"slug": {
"type": "string",
"maxLength": 200,
"description": "URL slug (alias) from a list result."
}
},
"additionalProperties": false
}Blog articles, newest first; filter by category; paginated. / Статьи блога.
| Argument | Type | Description |
|---|---|---|
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
| page | integer | |
| category | string | |
| per_page | integer |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"category": {
"type": "string",
"maxLength": 200
},
"per_page": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Completed portfolio projects with category, tags and summary; filter by category slug/title or tag; paginated. / Работы из портфолио.
| Argument | Type | Description |
|---|---|---|
| tag | string | |
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
| page | integer | |
| category | string | Category id, slug or title (see categories in the result). |
| per_page | integer |
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"maxLength": 100
},
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"category": {
"type": "string",
"maxLength": 200,
"description": "Category id, slug or title (see categories in the result)."
},
"per_page": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Services offered (AI agents and RAG, Telegram bots, CRM, Laravel backend, integrations, security, crypto). / Список услуг.
| Argument | Type | Description |
|---|---|---|
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
{
"type": "object",
"properties": {
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
}
},
"additionalProperties": false
}Keyword search across About, Services, Portfolio and Blog; returns ranked pages with snippets and urls. / Поиск по сайту.
| Argument | Type | Description |
|---|---|---|
| lang | string | Content language: ru (default) or en. English exists only for translated pages. |
| limit | integer | |
| query* | string | Words to look for. |
| sections | array | Limit to these sections; default all. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"ru",
"en"
],
"type": "string",
"default": "ru",
"description": "Content language: ru (default) or en. English exists only for translated pages."
},
"limit": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Words to look for."
},
"sections": {
"type": "array",
"items": {
"enum": [
"about",
"services",
"portfolio",
"blog"
],
"type": "string"
},
"description": "Limit to these sections; default all."
}
},
"additionalProperties": false
}Delivers a message to Andrey Zubar through the same mechanism as the contact form on the home page. Requires the human user's approval of the exact text and reply-to e-mail (confirmed_by_user=true). Rate limited; duplicates are not sent twice. / Отправить сообщение владельцу как через форму на главной; только с согласия пользователя.
| Argument | Type | Description |
|---|---|---|
| name | string | Optional sender name. |
| email* | string | Where the owner should reply. Must belong to the human user who approved the message. |
| message* | string | The request: what is needed, context, budget or deadlines if known. Plain text, up to 3 links. |
| request_id | string | Optional lowercase UUID to make retries idempotent. |
| confirmed_by_user* | boolean | Must be true: the human user reviewed and approved this exact text and email. |
{
"type": "object",
"required": [
"email",
"message",
"confirmed_by_user"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Optional sender name."
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Where the owner should reply. Must belong to the human user who approved the message."
},
"message": {
"type": "string",
"maxLength": 4000,
"minLength": 10,
"description": "The request: what is needed, context, budget or deadlines if known. Plain text, up to 3 links."
},
"request_id": {
"type": "string",
"pattern": "^[a-f0-9-]{36}$",
"description": "Optional lowercase UUID to make retries idempotent."
},
"confirmed_by_user": {
"type": "boolean",
"description": "Must be true: the human user reviewed and approved this exact text and email."
}
},
"additionalProperties": false
}