Skip to content

Commit d420008

Browse files
Merge pull request mario-andreschak#1 from smithery-ai/smithery/config-3nwd
Deployment: Dockerfile and Smithery config
2 parents cb7fd28 + 632bcb5 commit d420008

File tree

3 files changed

+82
-0
lines changed

3 files changed

+82
-0
lines changed

Dockerfile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
2+
# Use an official Node.js runtime as a parent image
3+
FROM node:18-alpine AS builder
4+
5+
# Set the working directory
6+
WORKDIR /app
7+
8+
# Copy the package files
9+
COPY package.json package-lock.json ./
10+
11+
# Install dependencies
12+
RUN npm install
13+
14+
# Copy the rest of the application code
15+
COPY . .
16+
17+
# Build the TypeScript application
18+
RUN npm run build
19+
20+
# Use a smaller Node.js runtime for the production build
21+
FROM node:18-alpine AS runner
22+
23+
# Set the working directory
24+
WORKDIR /app
25+
26+
# Copy the built application from the builder stage
27+
COPY --from=builder /app/dist ./dist
28+
COPY --from=builder /app/package.json ./package.json
29+
COPY --from=builder /app/node_modules ./node_modules
30+
31+
# Expose port (if applicable, specify the port that your server listens on)
32+
EXPOSE 3000
33+
34+
# Command to run the application
35+
CMD ["node", "./dist/index.js"]

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ABAP-ADT-API MCP-Server
22

3+
[![smithery badge](https://smithery.ai/badge/@mario-andreschak/mcp-abap-abap-adt-api)](https://smithery.ai/server/@mario-andreschak/mcp-abap-abap-adt-api)
4+
35
## Description
46

57
The ABAP-ADT-API MCP-Server is a Model Context Protocol (MCP) server designed to facilitate seamless communication between ABAP systems and MCP clients. It is based on [abap-adt-api](https://github.com/marcellourbani/abap-adt-api/) and provides a suite of tools and resources for managing ABAP objects, handling transport requests, performing code analysis, and more, enhancing the efficiency and effectiveness of ABAP development workflows.
@@ -17,6 +19,14 @@ This project was generated by Cline.
1719

1820
## Installation
1921

22+
### Installing via Smithery
23+
24+
To install ABAP-ADT-API MCP-Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@mario-andreschak/mcp-abap-abap-adt-api):
25+
26+
```bash
27+
npx -y @smithery/cli install @mario-andreschak/mcp-abap-abap-adt-api --client claude
28+
```
29+
2030
### Prerequisites
2131

2232
- **Node.js**: Ensure you have Node.js installed. You can download it from [here](https://nodejs.org/).

smithery.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2+
3+
startCommand:
4+
type: stdio
5+
configSchema:
6+
# JSON Schema defining the configuration options for the MCP.
7+
type: object
8+
required:
9+
- sapUrl
10+
- sapUser
11+
- sapPassword
12+
properties:
13+
sapUrl:
14+
type: string
15+
description: URL of the SAP server.
16+
sapUser:
17+
type: string
18+
description: SAP username.
19+
sapPassword:
20+
type: string
21+
description: SAP password.
22+
sapClient:
23+
type: string
24+
default: ""
25+
description: SAP client number. Optional.
26+
sapLanguage:
27+
type: string
28+
default: ""
29+
description: SAP language code. Optional.
30+
nodeTlsRejectUnauthorized:
31+
type: boolean
32+
default: true
33+
description: Set to false to ignore self-signed certificates. Optional.
34+
commandFunction:
35+
# A function that produces the CLI command to start the MCP on stdio.
36+
|-
37+
(config) => ({ command: 'node', args: ['./dist/index.js'], env: { SAP_URL: config.sapUrl, SAP_USER: config.sapUser, SAP_PASSWORD: config.sapPassword, SAP_CLIENT: config.sapClient || undefined, SAP_LANGUAGE: config.sapLanguage || undefined, NODE_TLS_REJECT_UNAUTHORIZED: config.nodeTlsRejectUnauthorized ? '1' : '0' } })

0 commit comments

Comments
 (0)