Read-only CV, project stories and blog of Aleksei Shipulin, product researcher. EN and RU.
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.
Find published evidence relevant to a role or hiring brief. Returns matching excerpts, the author’s recorded contribution and source links. Lexical retrieval only: no invented qualifications or suitability score.
Role, required skills, or a concise hiring brief; English and Russian accepted.
Language of the returned edition; defaults to English.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http shipulin https://mcp.shipulin.md/mcp
Find published evidence relevant to a role or hiring brief. Returns matching excerpts, the author’s recorded contribution and source links. Lexical retrieval only: no invented qualifications or suitability score.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned edition; defaults to English. |
| role* | string | Role, required skills, or a concise hiring brief; English and Russian accepted. |
| limit | integer |
{
"type": "object",
"required": [
"role"
],
"properties": {
"lang": {
"enum": [
"en",
"ru"
],
"type": "string",
"default": "en",
"description": "Language of the returned edition; defaults to English."
},
"role": {
"type": "string",
"maxLength": 1200,
"minLength": 1,
"description": "Role, required skills, or a concise hiring brief; English and Russian accepted."
},
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1
}
},
"additionalProperties": false
}Read Aleksei’s public CV, roles, education and selected strengths, with links to supporting projects and sources. Returns the same approved facts as the human-readable CV.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned edition; defaults to English. |
{
"type": "object",
"required": [],
"properties": {
"lang": {
"enum": [
"en",
"ru"
],
"type": "string",
"default": "en",
"description": "Language of the returned edition; defaults to English."
}
},
"additionalProperties": false
}Get a concise professional profile and the available case studies, essays and blog topics. Start here to explore research leadership, building products from an idea to release, and practical AI experiments.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language of the returned edition; defaults to English. |
{
"type": "object",
"required": [],
"properties": {
"lang": {
"enum": [
"en",
"ru"
],
"type": "string",
"default": "en",
"description": "Language of the returned edition; defaults to English."
}
},
"additionalProperties": false
}Read one published entry as copyable Markdown with its dates, contribution, translation status and source links. Use the returned source text for factual claims.
| Argument | Type | Description |
|---|---|---|
| id* | string | Exact item id or translation key returned by search_content or overview. |
| lang | string | Language of the returned edition; defaults to English. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Exact item id or translation key returned by search_content or overview."
},
"lang": {
"enum": [
"en",
"ru"
],
"type": "string",
"default": "en",
"description": "Language of the returned edition; defaults to English."
}
},
"additionalProperties": false
}Find posts connected by explicit editorial links or shared tags. Each result states the connection; this does not infer a professional achievement.
| Argument | Type | Description |
|---|---|---|
| id* | string | Exact item id or translation key returned by search_content or overview. |
| lang | string | Language of the returned edition; defaults to English. |
| limit | integer |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Exact item id or translation key returned by search_content or overview."
},
"lang": {
"enum": [
"en",
"ru"
],
"type": "string",
"default": "en",
"description": "Language of the returned edition; defaults to English."
},
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1
}
},
"additionalProperties": false
}Search Aleksei’s published project stories and blog. Find how a tool was built, what happened at release, a team result or a curious experiment, then read its complete Markdown.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| lang | string | Language of the returned edition; defaults to English. |
| limit | integer | |
| query* | string |
{
"type": "object",
"required": [
"query"
],
"properties": {
"kind": {
"enum": [
"project",
"essay",
"post",
"experiment"
],
"type": "string"
},
"lang": {
"enum": [
"en",
"ru"
],
"type": "string",
"default": "en",
"description": "Language of the returned edition; defaults to English."
},
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 1200,
"minLength": 1
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 9, 2026.