Agent Academy

Agent Academy is a free, source-linked library of skills, prompts, MCP servers and bot templates, organised into courses by profession, for people who hand real work to AI agents: 1,467 live resources, each with its original link, license and safety tags.

MCP server

TehProf Support

Helpdesk tickets from your AI: find, reply, take, hold, complete — within your own role. OAuth.

Needs credentialsCan send externally

https://github.com/tehprof/support-mcp

Install
remote (streamable-http): https://support.tehprof.kz/mcp

Original content

Full originalMITSource

Republished in full under its license, with attribution. The source is authoritative.

TehProf Support MCP Server

> AI-powered helpdesk management via Model Context Protocol. Connect any MCP-compatible assistant (Claude, ChatGPT, Cursor, Cline) to your support workspace — no custom integration code.

TehProf Support (support.tehprof.kz) is a multi-tenant SaaS helpdesk built for IT service companies. This server exposes 36 AI tools covering knowledge search, ticket lifecycle, analytics, automation, and Bitrix24 CRM proxy — gated by subscription tier.

Zero installation: use the hosted endpoint at https://support.tehprof.kz/mcp.

Table of Contents

  • [Quick Start](#quick-start)
  • [Tools by Tier](#tools-by-tier)
  • [Supported AI Clients](#supported-ai-clients)
  • [Architecture](#architecture)
  • [Server Discovery](#server-discovery)
  • [Authentication](#authentication)
  • [Self-Hosting](#self-hosting)
  • [Security](#security)
  • [FAQ](#faq)
  • [Contributing](#contributing)
  • [License](#license)

Quick Start

Option 1 — hosted (recommended)

Add to your MCP client config — no install, no server to run:

{
  "mcpServers": {
    "tehprof-support": {
      "url": "https://support.tehprof.kz/mcp",
      "transport": "streamable-http"
    }
  }
}

For authenticated access (unlocks tier-specific tools):

{
  "mcpServers": {
    "tehprof-support": {
      "url": "https://support.tehprof.kz/mcp",
      "transport": "streamable-http",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Option 2 — sanity check via curl

curl -sX POST https://support.tehprof.kz/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'

You should receive an initialize response with server capabilities.

Tools by Tier

The server gates tools by your TehProf Support plan. Anonymous (no API key) works out of the box.

Free — anonymous, no API key

ToolWhat it does
knowledge_searchFull-text search across the knowledge base
knowledge_readRead a specific article
knowledge_listList articles by category
onboarding_guideStep-by-step setup walkthrough
onboarding_featuresFeature matrix by plan
demo_create_ticketCreate a ticket in the sandbox
demo_view_ticketInspect a demo ticket
demo_workflowWalk the full ticket lifecycle
pricing_plansList all pricing plans
pricing_calculatePersonalized plan recommendation
system_healthPlatform status probe
system_infoServer capabilities
system_tenant_infoYour tenant metadata
settings_getRead tenant settings
settings_updateUpdate available settings
settings_operatorsList operators in your team

Starter

ToolWhat it does
tickets_listFiltered ticket list
tickets_getTicket + messages + participants
analytics_dashboardKPI dashboard overview
channels_listMessaging channels
channels_statusPer-channel connection state

Pro

ToolWhat it does
tickets_createCreate new tickets; can sync the customer company/contact by your own stable external IDs (idempotent) and dedupe by external_ref
tickets_replyPost replies on behalf of an operator
tickets_updateChange status / priority
analytics_slaSLA compliance report
analytics_operatorsPer-operator performance
automation_rules_listList automation rules
automation_rules_createCreate new rules
automation_rules_toggleEnable / disable rules
webhooks_listOutbound webhooks

Business

ToolWhat it does
bitrix_contactsSearch CRM contacts
bitrix_dealsList CRM deals
bitrix_tasksFilter Bitrix24 tasks
bitrix_task_createCreate Bitrix24 tasks linked to tickets
bitrix_usersPortal user directory
channels_configureConfigure WA / TG / Email channels

Supported AI Clients

Works with any client that speaks MCP over Streamable HTTP:

  • Claude Desktop — claude_desktop_config.json
  • Claude Code — .mcp.json or ~/.claude/settings.json
  • Cursor — MCP settings panel
  • Cline / Continue.dev — config.json
  • ChatGPT (Custom GPT) — see [gpt-config.md](gpt-config.md)
  • Custom agents — any @modelcontextprotocol/sdk consumer

Architecture

┌──────────────────────┐     Streamable HTTP      ┌──────────────────────┐
│  AI Client           │  ──────────────────────▶ │  MCP Server (this)   │
│  (Claude, GPT, ...)  │  JSON-RPC 2.0 + SSE      │  Node 20 + TS strict │
└──────────────────────┘                          └──────────┬───────────┘
                                                             │ HTTP localhost
                                                             ▼
                                                   ┌──────────────────────┐
                                                   │  PHP backend         │
                                                   │  mcp-auth.php        │
                                                   │  mcp-internal.php    │
                                                   └──────────┬───────────┘
                                                              │
                                                              ▼
                                                   ┌──────────────────────┐
                                                   │  SQLite (WAL)        │
                                                   │  Bitrix24 REST       │
                                                   └──────────────────────┘

Why Streamable HTTP (MCP 2025-03-26) and not stdio / SSE? Works through corporate proxies, scales horizontally, no long-lived connections to manage — the canonical transport for remote MCP.

Server Discovery

MCP clients can auto-discover this server via the .well-known endpoint:

GET https://support.tehprof.kz/.well-known/mcp.json

The response lists server capabilities, auth requirements, and tier descriptors.

Authentication

  1. Log in at support.tehprof.kz.
  2. Settings → API Keys → Create.
  3. Use it as Authorization: Bearer <key> in the MCP client header config.
  4. Revoke / rotate any time from the same panel.

Keys are hashed at rest, rate-limited, and validated against the tenant's plan on every call.

The same tenant API key may also be used by GPT/OpenAPI clients against https://support.tehprof.kz/api/openapi.json as Authorization: Bearer <key>. Direct REST integrations that call /api/admin.php use X-Api-Key: <key> instead.

Security

  • Transport: TLS 1.3, HSTS, no mixed content.
  • CORS: allowlist (support.tehprof.kz, claude.ai, chat.openai.com) — no wildcard.
  • Sessions: 1-hour inactivity TTL, evicted every 5 minutes.
  • Tenant isolation: authenticated MCP/OpenAPI calls resolve the tenant from the API key; mismatched tenant_id is rejected with 403.
  • Internal bridge: mcp-auth.php is not public; mcp-internal.php requires Bearer auth for tenant data and write actions require write scope.
  • Secrets: never sent client-side, stored in HashiCorp Vault server-side.
  • Audit log: every tool call is recorded against the tenant.

Report vulnerabilities to ilay25@gmail.com (please do not open public issues for security).

Self-Hosting

For tenants who need the MCP server running in their own network:

git clone https://github.com/tehprof/support-mcp
cd support-mcp
npm install
npm run build
MCP_PORT=8101 MCP_HOST=127.0.0.1 node dist/index.js

Set SUPPORT_BACKEND_URL to point at your Support backend. See [CLAUDE.md](CLAUDE.md) for full env reference.

FAQ

Does this work without a TehProf account?

Yes — anonymous access unlocks 16 free tools (knowledge, onboarding, demo, pricing, system, settings).

Can I use it with ChatGPT?

Yes. Use a Custom GPT — configuration is in [gpt-config.md](gpt-config.md).

What if my plan doesn't include a tool?

The tool is hidden from tools/list — AI agents never see it. Upgrade at support.tehprof.kz.

How do I list all tools my plan exposes?

Call MCP tools/list — the server filters in real time based on your Authorization header.

Where is the source code?

Right here — github.com/tehprof/support-mcp. MIT licensed.

Links

Contributing

Pull requests welcome. For non-trivial changes, please open an issue first to discuss.

License

MIT — see [LICENSE](LICENSE).

DescriptionHelpdesk tickets from your AI: find, reply, take, hold, complete — within your own role. OAuth.
Version2.4.0
PackagesNone stated
Environment variablesNone stated
Remote endpointsstreamable-http https://support.tehprof.kz/mcp
Websitehttps://support.tehprof.kz/help/guides/mcp-setup

Related

TutorialCustomer service

2_1_support_ticket_agent

A structured output agent demonstrating Pydantic schema-based responses for customer support ticket creation.

Sourcegithub.com/Shubhamsaboo/awesome-llm-apps/tree/main/ai_agent_framework_crash_course/openai_sdk_crash_course/2_structured_output_agent/2_1_support_ticket_agent

No credentialsDoes not sendApache-2.0
TutorialCustomer service

3_1_customer_support_ticket_agent

A tutorial demonstrating how to implement a structured customer support ticketing system using Google's ADK (Agent Development Kit) framework. This example shows how to create type-safe, structured support tickets with priority levels, categories, and resolution estimates using Pydantic schemas and

Sourcegithub.com/Shubhamsaboo/awesome-llm-apps/tree/main/ai_agent_framework_crash_course/google_adk_crash_course/3_structured_output_agent/3_1_customer_support_ticket_agent

No credentialsDoes not sendApache-2.0
CaseCustomer service

ai_customer_support_agent

This Streamlit app implements an AI-powered customer support agent for synthetic data generated using GPT-4o. The agent uses OpenAI's GPT-4o model and maintains a memory of past interactions using the Mem0 library with Qdrant as the vector store.

Sourcegithub.com/Shubhamsaboo/awesome-llm-apps/tree/main/advanced_ai_agents/single_agent_apps/ai_customer_support_agent

No credentialsDoes not sendApache-2.0
TutorialCustomer service

Using tool_choice=required for customer service (OpenAI cookbook)

Using Tool Required for Customer Service The ChatCompletion endpoint now includes the ability to specify whether a tool must be called every time, by adding tool_choice='required' as a parameter. This adds an element of determinism to how you build your wrapping application, as you can count on a to

Sourcegithub.com/openai/openai-cookbook/blob/main/examples/Using_tool_required_for_customer_service.ipynb

No credentialsDoes not sendMIT
TutorialCustomer service

Customer service agent with tool use (Claude cookbook)

Creating a Customer Service Agent with Client-Side Tools In this recipe, we'll demonstrate how to create a customer service chatbot using Claude 3 plus client-side tools. The chatbot will be able to look up customer information, retrieve order details, and cancel orders on behalf of the customer. We

Sourcegithub.com/anthropics/claude-cookbooks/blob/main/tool_use/customer_service_agent.ipynb

No credentialsDoes not sendMIT
Awesome listCustomer service

500 AI Agents Projects (includes customer service use cases)

Curated collection of AI agent use cases across industries (incl. Customer Service, E-commerce) with links to open-source implementations, e.g. a LangGraph customer-support agent tutorial.

Sourcegithub.com/ashishpatel26/500-AI-Agents-Projects

No credentialsDoes not sendMIT