# Ai Core Mcp Server

> MCP server from lemaiwo/ai-core-mcp-server.

- **Type:** MCP server
- **Install:** `agentstack add mcp-lemaiwo-ai-core-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [lemaiwo](https://agentstack.voostack.com/s/lemaiwo)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [lemaiwo](https://github.com/lemaiwo)
- **Source:** https://github.com/lemaiwo/ai-core-mcp-server

## Install

```sh
agentstack add mcp-lemaiwo-ai-core-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# AI Core MCP Server

An MCP (Model Context Protocol) server for SAP AI Core, powered by [odata-mcp-proxy](https://www.npmjs.com/package/odata-mcp-proxy). It exposes SAP AI Core APIs as MCP tools, allowing AI assistants like Claude to manage your AI Core landscape through natural language.

The entire server is defined through a single JSON config file -- no custom code required.

## How It Works

This project uses the `odata-mcp-proxy` npm package, which maps OData/REST services to MCP tools based on a configuration file. You provide a config describing your APIs and entity sets, and the proxy generates the corresponding MCP tools automatically.

```
AI Assistant (Claude, Cursor, etc.)
        |
        | MCP Protocol (HTTP or stdio)
        v
  odata-mcp-proxy
        |
        | REST + OAuth2 (via BTP Destination Service)
        v
  SAP AI Core APIs
```

Think of it like the [SAP Application Router](https://www.npmjs.com/package/@sap/approuter) -- a ready-made runtime you configure, not code you write.

## Exposed AI Core APIs

The config file (`ai-core-api-config.json`) defines two API groups:

### Lifecycle Management (`/v2/lm`)

| Tool | Operations | Description |
|------|-----------|-------------|
| `Scenarios` | list, get | AI scenarios -- logical groupings of executables that define a ML use case |
| `ScenarioVersions` | list | Versions of a scenario |
| `Executables` | list, get | Workflow templates (training) and serving templates (inference) under a scenario |
| `Models` | list | Models available in a scenario (e.g. LLMs in the generative AI hub) |
| `Configurations` | list, get, create | Parameter sets binding a scenario/executable to inputs and hyperparameters |
| `Executions` | list, get, create, update, delete | Training or batch inference runs, tracked through lifecycle states |
| `Deployments` | list, get, create, update, delete | Running model-serving instances providing real-time inference endpoints |
| `Artifacts` | list, get, create | Registered references to datasets, models, or files in an object store |
| `ExecutionSchedules` | list, get, create, update, delete | Cron-based schedules that automatically create executions |
| `Metrics` | list, delete | Training and evaluation metrics recorded during executions |
| `Meta` | list | Runtime capabilities, supported features, and API version info |
| `DatasetFiles` | get, create, delete | Upload, download, and delete files in the object store |

### Administration (`/v2/admin`)

| Tool | Operations | Description |
|------|-----------|-------------|
| `Repositories` | list, get, create, update, delete | Onboarded git repos containing workflow/serving templates |
| `Applications` | list, get, create, update, delete | ArgoCD applications that sync git repo content into AI Core |
| `DockerRegistrySecrets` | list, create, update, delete | Credentials for pulling private container images |
| `ObjectStoreSecrets` | list, create, update, delete | Credentials for S3, Azure Blob, GCS, or other object stores |
| `GenericSecrets` | list, get, create, update, delete | Key-value secrets (API keys, tokens) for executions and deployments |
| `ResourceGroups` | list, get, create, update, delete | Tenant isolation units that segregate AI assets and workloads |
| `Services` | list, get | Service broker registrations exposing AI Core capabilities |

## Prerequisites

- **Node.js** 18+ (20+ recommended)
- **SAP BTP account** with SAP AI Core provisioned
- **BTP Destination** configured for the AI Core API (`AI_CORE`) with OAuth2 authentication
- **Cloud Foundry CLI** (`cf`) and **MBT Build Tool** (`mbt`) for deployment

## Project Structure

```
ai-core-mcp-server/
├── package.json                # Start script + odata-mcp-proxy dependency
├── ai-core-api-config.json     # API configuration (defines all MCP tools)
├── mta.yaml                    # BTP Cloud Foundry deployment descriptor
├── xs-security.json            # XSUAA OAuth2 configuration
├── default-env.json            # Local dev credentials (gitignored)
└── LICENSE
```

## Getting Started

### 1. Install dependencies

```bash
npm install
```

### 2. Configure BTP destination

Create a BTP Destination pointing to the AI Core API:

| Destination | URL |
|-------------|-----|
| `AI_CORE` | `https://api.ai.prod..aws.ml.hana.ondemand.com` |

The destination should use OAuth2 client credentials authentication with the AI Core service key.

### 3. Local development

Create a `default-env.json` with your BTP service bindings (XSUAA, Destination, Connectivity) to run locally:

```bash
npm start
```

This runs `odata-mcp-proxy --config ai-core-api-config.json`.

### 4. Deploy to BTP

```bash
npm run build:btp     # Build MTA archive
npm run deploy:btp    # Deploy to Cloud Foundry
```

The MTA deployment provisions three service instances:
- **Destination** (lite) -- resolves API endpoints and manages OAuth2 tokens
- **Connectivity** (lite) -- enables secure backend connectivity
- **XSUAA** (application) -- handles OAuth2 authentication with role-based access control

## Security

The XSUAA configuration (`xs-security.json`) defines three role templates:

| Role | Scopes | Description |
|------|--------|-------------|
| `MCPViewer` | read | Read-only access |
| `MCPEditor` | read, write | Read and write access |
| `MCPAdmin` | read, write, admin | Full administrative access |

OAuth2 redirect URIs are pre-configured for Claude.ai, Cursor, Microsoft Teams, and local development.

## Creating Your Own MCP Server

This project demonstrates how easy it is to create a custom MCP server using `odata-mcp-proxy`. To build your own:

1. Create a new project and install the dependency:
   ```bash
   mkdir my-mcp-server && cd my-mcp-server
   npm init -y
   npm install odata-mcp-proxy
   ```

2. Add a start script to `package.json`:
   ```json
   {
     "scripts": {
       "start": "odata-mcp-proxy --config my-api-config.json"
     }
   }
   ```

3. Define your APIs in a config file (`my-api-config.json`):
   ```json
   {
     "server": {
       "name": "my-mcp-server",
       "version": "1.0.0",
       "description": "My custom MCP server"
     },
     "apis": [
       {
         "name": "my-api",
         "destination": "MY_BTP_DESTINATION",
         "pathPrefix": "/api/v1",
         "csrfProtected": true,
         "entitySets": [
           {
             "entitySet": "Products",
             "description": "Product catalog",
             "category": "master-data",
             "keys": [{ "name": "Id", "type": "string" }],
             "operations": { "list": true, "get": true, "create": false, "update": false, "delete": false }
           }
         ]
       }
     ]
   }
   ```

4. Add your `mta.yaml`, `xs-security.json`, and BTP Destinations, then deploy. That's it -- no code to write.

## License

MIT

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [lemaiwo](https://github.com/lemaiwo)
- **Source:** [lemaiwo/ai-core-mcp-server](https://github.com/lemaiwo/ai-core-mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-lemaiwo-ai-core-mcp-server
- Seller: https://agentstack.voostack.com/s/lemaiwo
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
