← vstepanov.com

vstepanov.com MCP

Public remote service · version 0.2.0

Use this MCP server to retrieve consulting information and prepare an enquiry link.

endpoint
https://vstepanov.com/mcp
transport
Stateless Streamable HTTP over POST
authentication
None for the current public deployment. No account, API key, OAuth, or payment is required by this MCP service; your chosen AI client may have its own access requirements.
client
A remote MCP client with Streamable HTTP support
protocol
Tested with MCP protocol versions 2026-07-28 and 2025-11-25

Start here

Read the full MCP reference below, or download the Markdown reference. A generic client configuration is shown below for orientation; client configuration formats vary. Use a client that supports remote MCP connections; no local copy of this server or package installation on its behalf is needed.

{
  "mcpServers": {
    "vstepanov": {
      "url": "https://vstepanov.com/mcp"
    }
  }
}

What it exposes

Service boundaries

The informational tools are public. The service does not send messages directly, take payment, book meetings, or perform consulting. Clients should not invent contact details or put confidential information in an enquiry message.

Full MCP reference

Use exactly https://vstepanov.com/mcp; it has no trailing slash. The service version is 0.2.0. It uses stateless Streamable HTTP over POST and is intended for a remote MCP client.

Authentication and client setup

No account, API key, OAuth, or payment is required by this MCP service; your chosen AI client may have its own access requirements.

Use the configuration shown above with a client that supports remote MCP connections. No local copy of this server or package installation on its behalf is needed.

Use the client’s MCP tools/list and tools/call operations.

Tools and inputs

get_consulting_profile, get_service_details, and get_contact_options each require an empty JSON object and reject additional properties. Each returns JSON-encoded text in the MCP content array:

{}
  • get_consulting_profile returns a concise, source-backed profile, positioning, evidence, links, and informational scope.
  • get_service_details returns AI strategy, architecture review, agent reliability, and technical leadership. It publishes no prices, availability, guarantees, or engagement terms.
  • get_contact_options returns the three published routes: enquiry form, LinkedIn, and website. The separate prepare_enquiry tool creates the handoff link. It is read-only and never sends a message.

prepare_enquiry requires all three fields and rejects additional properties:

  • name: trimmed string, 1–120 characters.
  • email: trimmed, valid email string, at most 254 characters.
  • message: trimmed string, 1–3,000 characters.

The service URL-encodes these fields as mcp_name, mcp_email, and mcp_message. If the encoded URL would exceed 8,000 characters, it returns an error and does not truncate the value.

{
  "name": "Jamie Example",
  "email": "[email protected]",
  "message": "Please help us prepare our AI agent for launch."
}

The illustrative prepare_enquiry structuredContent result below is an example, not a claim that the call was executed:

{
  "status": "draft",
  "sent": false,
  "recipient": "Vladislav Stepanov",
  "action_label": "Review and send enquiry",
  "review_url": "https://tally.so/r/ob1L2b?mcp_name=Jamie+Example&mcp_email=jamie%40example.com&mcp_message=Please+help+us+prepare+our+AI+agent+for+launch.",
  "next_step": "Open the form, review the prefilled details, and click Submit. No enquiry has been sent yet."
}

The same JSON is returned in structuredContent and included in the tool’s text content with a review link and the next-step instruction. The tool returns status: draft and sent: false; it never submits the enquiry.

Clients must display the review_url and clearly tell the person that the enquiry is unsent while sent is false. They must not invent contact details or confidential message content.

Enquiry flow

  1. The caller supplies an agreed name, email address, and message draft.
  2. The service locally creates a Tally URL containing those values.
  3. A person opens the link, reviews the prefilled form, and chooses whether to click Submit.
  4. Tally handles its configured notifications after submission.

This flow does not send the enquiry, book a meeting, take payment, or perform consulting.

Access and limits

  • The service is intended for server-to-server MCP clients.
  • A supplied Origin is refused unless allowlisted. The current allowlist is empty, so browser-origin requests are refused; browser CORS is unsupported.
  • /mcp/ (with a trailing slash) returns 404.
  • GET, OPTIONS, and DELETE to /mcp return 405 with Allow: POST. The browser endpoint is not the documentation page, and an SSE GET endpoint is not required.
  • There is no public healthz endpoint. The process health route is internal to hosting; there is no public health URL.
  • The current configured limit is 60 requests per minute per peer address. A shared proxy can cause callers to share a bucket. On 429, back off until the reset time; the response includes ratelimit-limit, ratelimit-remaining, and ratelimit-reset (Unix seconds).
  • POST bodies are limited to 1 MiB; oversized requests return 413.
  • No uptime guarantee or SLA.

Privacy and data flow

The service processes enquiry fields transiently to construct the review URL. It has no application database and does not log request content. The generated link contains the supplied name, email, and message, which could persist in an AI chat, browser history, or provider logs. Do not put confidential information, secrets, or sensitive project details in the fields.

Tally receives the values when the review link is opened. Opening the link and submitting the Tally form are separate actions. See the privacy policy and terms.

Sources and support

See the authoritative bio, website, support form, and LinkedIn.