Install and configure Mistral AI SDK/CLI authentication.
Use when setting up a new Mistral integration, configuring API keys,
or initializing Mistral AI in your project.
Trigger with phrases like "install mistral", "setup mistral",
"mistral auth", "configure mistral API key".
Set up the official Mistral AI SDK (@mistralai/mistralai for TypeScript, mistralai for Python) and configure authentication for chat completions, embeddings, function calling, vision, and agents.
# Set in shell
export MISTRAL_API_KEY="your-api-key"
# Or create .env file (add to .gitignore!)
echo 'MISTRAL_API_KEY=your-api-key' >> .env
echo '.env' >> .gitignore
Using dotenv (Node.js)
set -euo pipefail
npm install dotenv
import 'dotenv/config';
Step 3: Verify Connection
TypeScript
import { Mistral } from '@mistralai/mistralai';
const client = new Mistral({
apiKey: process.env.MISTRAL_API_KEY,
});
async function testConnection() {
try {
const models = await client.models.list();
console.log('Connection successful! Available models:');
for (const model of models.data ?? []) {
console.log(` - ${model.id}`);
}
} catch (error: any) {
if (error.status === 401) {
console.error('Invalid API key. Check your key at console.mistral.ai');
} else {
console.error('Connection failed:', error.message);
}
}
}
testConnection();
Python
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
def test_connection():
try:
models = client.models.list()
print("Connection successful! Available models:")
for model in models.data:
print(f" - {model.id}")
except Exception as e:
print(f"Connection failed: {e}")
test_connection()
Step 4: Production — Secret Manager
// GCP Secret Manager (recommended for production)
import { SecretManagerServiceClient } from '@google-cloud/secret-manager';
const sm = new SecretManagerServiceClient();
async function getMistralKey(): Promise<string> {
const [version] = await sm.accessSecretVersion({
name: 'projects/my-project/secrets/mistral-api-key/versions/latest',
});
return version.payload?.data?.toString() ?? '';
}
// AWS Secrets Manager alternative
import { SecretsManager } from '@aws-sdk/client-secrets-manager';
const sm = new SecretsManager({ region: 'us-east-1' });
async function getMistralKey(): Promise<string> {
const { SecretString } = await sm.getSecretValue({
SecretId: 'mistral/api-key',
});
return SecretString!;
}
Output
Installed SDK package (@mistralai/mistralai or mistralai)
Environment variable or .env file with API key
Successful connection verification listing available models
Error Handling
Error
Cause
Solution
401 Unauthorized
Invalid or missing API key
Verify key at console.mistral.ai
Module not found
SDK not installed
Run npm install @mistralai/mistralai
ERR_REQUIRE_ESM
Using CommonJS require
SDK is ESM-only; use import or dynamic await import()
Network Error
Firewall blocking HTTPS
Ensure outbound HTTPS to api.mistral.ai is allowed