Documentation

Getting Started with ExMCP

Welcome to the Extension Model Context Protocol (ExMCP) documentation. This guide will help you understand the core concepts of ExMCP and get started with developing AI-enhanced extensions for ThinkCode.

What is ExMCP?

ExMCP (Extension Model Context Protocol) is a unified protocol that allows extensions, models, and context providers to communicate and enhance AI-powered development experiences. It provides a standardized way for extending AI capabilities in ThinkCode with:

  • Context Providers: Supply relevant information to AI models
  • Model Extensions: Enhance or specialize AI model functionality
  • Protocol Extensions: Define new ways for components to communicate

Key Benefits of ExMCP

  • Unified Interface: A consistent API for all AI-related extensions
  • Composable Architecture: Mix and match extensions to create powerful workflows
  • Context-Aware Processing: Help AI models understand your codebase better
  • Extensible Design: Create your own protocols for specialized domains

Installing ExMCP Extensions

ExMCP extensions can be installed directly from the ThinkCode Marketplace:

  1. Open ThinkCode
  2. Navigate to the Marketplace
  3. Browse or search for ExMCP-compatible extensions
  4. Click "Install" on the extension you want to use

Creating Your First ExMCP Extension

To create your own ExMCP extension:

# Install the ThinkCode CLI
npm install -g thinkcode-cli
 
# Create a new ExMCP extension project
thinkcode-cli create-exmcp my-extension
 
# Navigate to the project directory
cd my-extension
 
# Start the development server
npm run dev

ExMCP Extension Structure

A basic ExMCP extension has the following structure:

my-exmcp-extension/
├── package.json            # Extension manifest
├── tsconfig.json           # TypeScript configuration
├── src/
│   ├── index.ts            # Main entry point
│   ├── context/            # Context providers
│   │   └── provider.ts     # Sample context provider
│   ├── models/             # Model enhancements
│   │   └── transformer.ts  # Sample model transformer
│   └── protocols/          # Custom protocols
│       └── custom.ts       # Sample protocol definition
└── README.md               # Documentation

Next Steps

On this page