Skip to main content
Glama

Genkit MCP

Official
by firebase
README.md1.7 kB
# OpenAI-Compatible Plugin Package This directory contains a package for building plugins that are compatible with the OpenAI API specification, along with plugins built on top of this package. ## Package Overview The `compat_oai` package provides a base implementation (`OpenAICompatible`) that handles: - Model and embedder registration - Message handling - Tool support - Configuration management ## Usage Example Here's how to implement a new OpenAI-compatible plugin: ```go type MyPlugin struct { compat_oai.OpenAICompatible // define other plugin-specific fields } var ( supportedModels = map[string]ai.ModelInfo{ // define supported models } ) // Implement required methods func (p *MyPlugin) Init(ctx context.Context, g *genkit.Genkit) error { // initialize the plugin with the common compatible package if err := p.OpenAICompatible.Init(ctx, g); err != nil { return err } // Define plugin-specific models for model, info := range supportedModels { if _, err := p.DefineModel(g, p.Provider, model, info); err != nil { return err } } // Define embedders, if applicable return nil } func (p *MyPlugin) Name() string { return p.Provider } ``` See the `openai` and `anthropic` directories for complete implementations. ## Running Tests Set your API keys: ```bash export OPENAI_API_KEY=<your-openai-key> export ANTHROPIC_API_KEY=<your-anthropic-key> ``` Run all tests: ```bash go test -v ./... ``` Run specific plugin tests: ```bash # OpenAI tests go test -v ./openai # Anthropic tests go test -v ./anthropic ``` Note: Tests will be skipped if the required API keys are not set.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/firebase/genkit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server