Azure OpenAI MCP Example logo

Azure OpenAI MCP Example

by manekinekko

This project demonstrates how to use the MCP protocol with OpenAI or Azure OpenAI. It provides a simple example for interacting with OpenAI's API seamlessly via an MCP server and client.

View on GitHub

Last updated: N/A

Azure OpenAI MCP Example

This project showcases how to use the MCP protocol with OpenAI. It provides a simple example to interact with OpenAI's API seamlessly via an MCP server and client.

Getting Started

To get started with this project, follow the steps below:

Prerequisites

  • Node.js (version 22 or higher)
  • npm
  • An OpenAI compatible endpoint:
    • An OpenAI API key
    • Or, if you are using Azure OpenAI, you need to have an Azure OpenAI resource and the corresponding endpoint.

Installation

  1. Clone the repository:

    git clone https://github.com/manekinekko/openai-mcp-example.git
    cd openai-mcp-example
    
  2. Install the dependencies:

    npm install
    

Configuration

Azure OpenAI (Keyless Authentication)

In order to use Keyless authentication, you can use the AZURE_OPENAI_ENDPOINT environment variable in the .env file:

AZURE_OPENAI_ENDPOINT="https://<ai-foundry-openai-project>.openai.azure.com"
OpenAI API Key

To use the OpenAI API, you need to set your OpenAI API key in the .env file:

OPENAI_API_KEY=your_openai_api_key

Usage

  1. (Optional) If you are using Azure OpenAI, please log in first using the Azure CLI command:

    az login
    
  2. Run the MCP server:

    npm run start:server
    
  3. Run the MCP client:

    npm run start:client
    

You should see a response like the following:

{
  choices: [
    {
      content_filter_results: [Object],
      finish_reason: 'stop',
      index: 0,
      logprobs: null,
      message: [Object]
    }
  ],
  created: 1744274007,
  id: 'chatcmpl-BKhdf8LcWBezaWxDr2WDPi1uZDfZl',
  model: 'gpt-4o-2024-11-20',
  object: 'chat.completion',
  prompt_filter_results: [ { prompt_index: 0, content_filter_results: [Object] } ],
  system_fingerprint: 'fp_ee1d74bde0',
  usage: {
    completion_tokens: 14,
    completion_tokens_details: {
      accepted_prediction_tokens: 0,
      audio_tokens: 0,
      reasoning_tokens: 0,
      rejected_prediction_tokens: 0
    },
    prompt_tokens: 18,
    prompt_tokens_details: { audio_tokens: 0, cached_tokens: 0 },
    total_tokens: 32
  }
}
Final result:  [Calling tool calculate_sum with args "{\"a\":2,\"b\":3}"]
The sum of 2 and 3 is **5**.

License

This project is licensed under the MIT License. See the LICENSE file for details.