MCPcopy Index your code
hub / github.com/Servflow/servflow

github.com/Servflow/servflow @v0.1.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.6 ↗ · + Follow
738 symbols 2,487 edges 116 files 187 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

banner

🚀 ServFlow Engine

Free, standalone API engine - build backends with YAML instead of code

GitHub Release License Docker Pulls Issues

📚 Complete Documentation & Tutorials • 📁 Download Examples • 💬 Community


demo

What is ServFlow Engine?

ServFlow Engine is a free, standalone declarative API engine that transforms YAML configurations into production-ready APIs. No backend code required.

ServFlow Engine is part of the ServFlow platform. Use it standalone (free forever) or with the ServFlow Dashboard for visual development.

✨ Why ServFlow Engine?

  • ⚡ Zero Backend Code: Build complete APIs using only YAML configurations
  • 🔗 Universal Integrations: Connect to any database, AI service, or external API
  • 🧠 AI-Powered: Built-in support for OpenAI, Claude, and other AI services
  • 📈 Infinitely Scalable: Designed for high-performance and horizontal scaling
  • ⚙️ Configuration-Driven: Version control your entire API logic

Example: This YAML becomes a working API endpoint:

# Complete example in examples/hello-world/
http:
  listenPath: /users
  method: GET
  next: $action.fetch_users

actions:
  fetch_users:
    type: mongoquery
    config:
      collection: users
      integrationID: mongo
    next: $response.success

responses:
  success:
    code: 200
    responseObject:
      fields:
        users:
          value: "{{ .variable_actions_fetch_users }}"

🚀 Quick Start

Get ServFlow Engine running in under 2 minutes:

1. Install ServFlow Engine

macOS & Linux (Recommended):

curl -fsSL https://raw.githubusercontent.com/servflow/servflow/main/install.sh | bash

Manual Download: Download the latest binary from GitHub Releases

Docker:

docker pull servflow/servflow:latest

2. Download Examples & Start

# Clone this repository for examples
git clone https://github.com/servflow/servflow.git
cd servflow/examples/hello-world

# Start with the hello-world example
servflow start --integrations integrations.yaml configs/

3. Test Your API

curl http://localhost:8080/hello
# Response: {"message": "Hello from ServFlow Engine!", "timestamp": "2024-01-15T10:30:00Z"}

🎉 That's it! You now have a running API built with just YAML configuration.


📁 Examples

Ready-to-run examples you can download and use immediately:

🎯 Example 📋 What it does ⏱️ Setup Time 🔗 Tutorial
hello-world Simple API response 30 seconds Your First API
db-agent AI-powered database queries 2 minutes Database Agent
user-registration User signup with validation 3 minutes User Registration

🏃‍♂️ Using Examples

# 1. Clone this repository
git clone https://github.com/servflow/servflow.git
cd servflow/examples

# 2. Choose an example (e.g., db-agent)
cd db-agent

# 3. Follow the quick setup in each README
# 4. Visit the docs for complete explanations

Each example includes: - ✅ Complete YAML configurations that work out-of-the-box - ✅ Quick setup instructions (under 3 minutes) - ✅ Sample test requests - ✅ Links to detailed tutorials in our documentation

Complete tutorials and explanations at docs.servflow.io


🔧 How It Works

ServFlow Engine uses two types of configuration files:

1. Integrations (integrations.yaml)

Define connections to databases, AI services, and external APIs:

integrations:
  mongo:
    type: mongo
    config:
      connectionString: '{{ secret "MONGODB_STRING" }}'
      dbName: myapp
  openai:
    type: openai
    config:
      api_key: '{{ secret "OPENAI_API_KEY" }}'

2. API Endpoints (configs/*.yaml)

Define your API endpoints and business logic:

id: users_api
name: Users API
http:
  listenPath: /users
  method: GET
  next: $action.fetch_users
# ... rest of configuration

🔥 The Result: A fully functional API endpoint with zero backend code!

Learn the complete configuration syntax in our docs


📚 Documentation & Learning

🎯 New to ServFlow?

🧠 Learn by Building

🚀 Reference & Advanced


🛠️ Installation Options

Binary Installation

Quick Install Script

curl -fsSL https://raw.githubusercontent.com/servflow/servflow/main/install.sh | bash

Manual Download

Download from GitHub Releases: - Linux (x64): servflow-vX.X.X-linux-amd64.tar.gz - macOS (Intel): servflow-vX.X.X-darwin-amd64.tar.gz
- macOS (Apple Silicon): servflow-vX.X.X-darwin-arm64.tar.gz - Windows (x64): servflow-vX.X.X-windows-amd64.zip

Docker Installation

# Pull the latest image
docker pull servflow/servflow:latest

# Run with configuration
docker run -d \
  --name servflow \
  -p 8080:8080 \
  -v $(pwd)/integrations.yaml:/app/integrations.yaml \
  -v $(pwd)/configs:/app/configs \
  servflow/servflow:latest start --integrations /app/integrations.yaml /app/configs

🔧 Quick Configuration

Environment Setup

# Create project structure
mkdir my-servflow-api && cd my-servflow-api
mkdir -p configs
touch integrations.yaml

# Set environment variables for secrets
export MONGODB_STRING="mongodb://localhost:27017/mydb"
export OPENAI_API_KEY="sk-your-api-key-here"

# Start ServFlow
servflow start --integrations integrations.yaml configs/

Health Check

curl http://localhost:8080/health
# Response: ok

🌟 What You Can Build

🤖 AI-Powered APIs

  • Natural language database queries
  • Smart content generation
  • Automated data processing

📊 Data APIs

  • RESTful database operations
  • Complex query pipelines
  • Real-time data streaming

🔐 Authentication Systems

  • User registration & login
  • JWT token management
  • Role-based permissions

🔗 Integration Hubs

  • Multi-service orchestration
  • Webhook processing
  • Third-party API proxying

See all possibilities in our documentation


🤝 Community & Support

Get Help

Contributing

We welcome contributions! Check out our examples and documentation for ways to help.

Quick Links


🔍 Common Issues

"servflow: command not found"

# Make sure binary is executable and in PATH
chmod +x servflow
sudo mv servflow /usr/local/bin/

"Config folder for APIs must be specified"

# Provide the correct path to your configs
servflow start --integrations integrations.yaml configs/

Need more help?

Check our complete troubleshooting guide or open an issue.


📄 License

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


🔗 Links


Made with ❤️ by the ServFlow team

Star this repo if ServFlow helps you build better APIs!

Get StartedView ExamplesRead Docs

Extension points exported contracts — how you extend this code

ActionExecutable (Interface)
(no doc) [19 implementers]
pkg/engine/actions/actions.go
Serializable (Interface)
(no doc) [7 implementers]
internal/storage/storage.go
ToolManager (Interface)
(no doc) [3 implementers]
pkg/agent/agent.go
Integration (Interface)
(no doc) [39 implementers]
pkg/engine/integration/integrations.go
LLmProvider (Interface)
(no doc) [3 implementers]
pkg/agent/agent.go
Step (Interface)
(no doc) [7 implementers]
pkg/engine/plan/executionstep.go
OutputMessages (Interface)
(no doc)
pkg/agent/agent.go
SecretStore (Interface)
(no doc) [3 implementers]
pkg/engine/requestctx/dpl.go

Core symbols most depended-on inside this repo

Error
called by 118
pkg/engine/requestctx/templates.go
Execute
called by 34
pkg/engine/actions/actions.go
Config
called by 25
pkg/engine/actions/actions.go
RegisterAction
called by 25
pkg/engine/actions/registry.go
InitializeIntegration
called by 25
pkg/engine/integration/integrations.go
Execute
called by 23
pkg/engine/plan/executionstep.go
ReplaceIntegrationType
called by 22
pkg/engine/integration/integrations.go
EXPECT
called by 18
pkg/engine/plan/actions_mock.go

Shape

Function 298
Method 265
Struct 144
Interface 20
TypeAlias 6
FuncType 5

Languages

Go97%
Python3%

Modules by API surface

pkg/agent/agent_mock.go22 symbols
pkg/engine/integration/integrations/openai/openai.go17 symbols
pkg/definitions/apiconfig.go17 symbols
pkg/agent/structure.go17 symbols
pkg/agent/agent.go17 symbols
pkg/engine/requestctx/aggregationcontext.go16 symbols
pkg/agent/tools/tools.go16 symbols
pkg/engine/requestctx/dpl.go15 symbols
pkg/engine/requestctx/templates.go13 symbols
pkg/engine/integration/integrations/sql/sql.go13 symbols
internal/storage/CustomMessageFormat.go13 symbols
internal/logging/logger.go13 symbols

Datastores touched

usersCollection · 1 repos
(mongodb)Database · 1 repos
servflowDatabase · 1 repos
mydbDatabase · 1 repos
yourdbDatabase · 1 repos
testdbDatabase · 1 repos

For agents

$ claude mcp add servflow \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact