Agent NoCode
Built with Python & LangGraph
A2A Protocol v0.3.0 Compliant Server
Built with Python and powered by LangGraph, this NoCode RAG agent enables seamless agent-to-agent communication using the standardized A2A protocol. Implemented with FastAPI and the official A2A SDK, it provides intelligent RAG capabilities, stateful multi-agent workflow orchestration, and comprehensive no-code tool integration for enterprise applications.
Uses LangGraph with a graph-based architecture for defining complex agent interactions and stateful workflows. Workflows are composed of nodes (representing processing steps) and edges (representing state transitions and message flow), enabling sophisticated multi-step reasoning, conditional logic, and human-in-the-loop patterns.
API Endpoints & Documentation
Explore the A2A protocol endpoints, agent cards, and LangGraph RAG APIs.
Agent Orchestrator Dashboard
Live monitoring of all subsystems and services. Updates every 30 seconds.
Loading system status...
Quick Start: Chat with Agent
Use this curl command to send a message to the agent via the A2A protocol using JSON-RPC. The agent will process your request and return a complete response including task status, artifacts, and conversation history.
curl --location 'http://localhost:5002/' \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "message/send",
"params": {
"configuration": {
"blocking": true
},
"message": {
"role": "user",
"messageId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"contextId": "12345678-90ab-cdef-1234-567890abcdef",
"kind": "message",
"parts": [
{
"kind": "text",
"text": "Explain quantum computing in simple terms"
}
]
}
},
"id": 1
}'
{
"jsonrpc": "2.0",
"result": {
"task": {
"taskId": "a52b3af8-bbb3-4864-8a48-f68a9334de9e",
"state": "completed"
}
},
"id": 1
}
Agent Configuration
Configure the NoCode RAG Langraph agent with LLM, RAG database, and authentication settings.
Required Environment Variables
Configure these parameters to enable full agent functionality:
| Parameter | Required | Default | Description |
|---|---|---|---|
| Agent Configuration | |||
AGENT_ID |
Required | "" |
Unique identifier for this agent instance |
AGENT_NAME |
Optional | NoCode RAG Langraph Agent |
Display name for the agent |
AGENT_DESCRIPTION |
Optional | A LangGraph-based AI assistant |
Description of agent capabilities |
| LLM Configuration | |||
LLM_ENDPOINT |
Required | "" |
Azure OpenAI endpoint URL (e.g., https://your-resource.openai.azure.com/) |
LLM_KEY |
Required | "" |
Azure OpenAI API key for authentication |
LLM_DEPLOYMENT_NAME |
Optional | gpt-4o |
Azure OpenAI deployment name |
LLM_VERSION |
Optional | 2024-02-01 |
Azure OpenAI API version |
LLM_MODEL |
Optional | gpt-4 |
Azure OpenAI model name |
| Embedding Service Configuration | |||
EMBEDDING_BASE_URL |
Optional | "" |
Base URL for embedding service |
EMBEDDING_API_KEY |
Optional | "" |
API key for embedding service authentication |
EMBEDDING_PROVIDER |
Optional | azure |
Embedding provider (azure, openai, etc.) |
| Database Configuration | |||
DB_HOST or PG_HOST |
Optional | localhost |
PostgreSQL database host |
DB_PORT or PG_PORT |
Optional | 5432 |
PostgreSQL database port |
DB_NAME |
Optional | orchestrator |
PostgreSQL database name |
DB_USERNAME or PG_USER |
Optional | postgres |
PostgreSQL database username |
DB_PASSWORD or PG_PASSWORD |
Optional | "" |
PostgreSQL database password |
| Authentication Configuration | |||
AUTH_ENABLED |
Optional | false |
Enable/disable authentication |
AUTH_AUTHORITY |
Optional | "" |
Authentication authority URL (e.g., Azure AD tenant URL) |
AUTH_ISSUER |
Optional | "" |
JWT token issuer URL for validation |
AUTH_TENANT_ID |
Optional | "" |
Azure AD tenant identifier |
AUTH_CLIENT_ID |
Optional | "" |
Application (client) ID registered in Azure AD |
AUTH_REDIRECT_URI |
Optional | "" |
OAuth redirect URI for authentication flow |
AUTH_LOGIN_SCOPES |
Optional | "" |
Comma-separated OAuth scopes for user login |
AUTH_API_SCOPES |
Optional | "" |
Comma-separated OAuth scopes for API access |
AUTH_VALIDATE_ISSUER |
Optional | true |
Validate JWT issuer claim during token verification |
AUTH_VALIDATE_AUDIENCE |
Optional | true |
Validate JWT audience claim during token verification |
AUTH_VALIDATE_SIGNING_KEY |
Optional | true |
Validate JWT signature using signing keys |
AUTH_VALIDATE_LIFETIME |
Optional | true |
Validate JWT expiration and not-before claims |
AUTH_LIFETIME_SKEW |
Optional | 5 |
Allowed clock skew in minutes for lifetime validation |
| Server Configuration | |||
PORT |
Optional | 8080 |
Server port (5015 for local development) |
HOST |
Optional | 0.0.0.0 |
Server host address |
ENVIRONMENT |
Optional | development |
Application environment (development, production) |
DEBUG |
Optional | false |
Enable debug mode |
Example Configuration
######################################## # Agent Configuration ######################################## AGENT_ID=simple-ag AGENT_NAME=LowCodeAgent AGENT_DESCRIPTION=A low-code AI agent for rapid application development. AGENT_ICON_URL= AGENT_DOCUMENTATION_URL= AGENT_PROVIDER_ORG=EY AGENT_PROVIDER_URL=https://ey.com ######################################## # LLM configuration ######################################## LLM_PROVIDER=azure_openai LLM_ENDPOINT=https://your-openai-instance.openai.azure.com/ LLM_MODEL=gpt-4o LLM_KEY=your-api-key-here LLM_API_VERSION=2025-01-01-preview LLM_SYSTEM_PROMPT=You are a helpful, tool-using assistant. LLM_TEMPERATURE=0.0 LLM_MAX_TOKENS=1000 ######################################## # Embeddings configuration (optional) ######################################## EMBED_PROVIDER=azure_openai EMBED_MODEL=text-embedding-ada-002 EMBED_API_VERSION=2023-05-15 ######################################## # Postgres (pgvector) configuration ######################################## PGHOST=localhost PGPORT=5432 POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres Platform_DB=art-context ######################################## # Logging ######################################## LOG_LEVEL=INFO ######################################## # Context Configuration ######################################## CONTEXTS="[]" ######################################## # Authentication Configuration (Optional) ######################################## AUTH_ENABLED=false AUTH_AUTHORITY=https://login.microsoftonline.com/your-tenant-id AUTH_ISSUER=https://sts.windows.net/your-tenant-id/ AUTH_TENANT_ID=your-tenant-id AUTH_CLIENT_ID=your-client-id AUTH_REDIRECT_URI=http://localhost:3000 AUTH_LOGIN_SCOPES=User.Read AUTH_API_SCOPES=api://your-app-id/.default AUTH_VALIDATE_ISSUER=true AUTH_VALIDATE_AUDIENCE=false AUTH_VALIDATE_SIGNING_KEY=false AUTH_VALIDATE_LIFETIME=true AUTH_LIFETIME_SKEW=300 ######################################## # MCP URLs ######################################## TOOL_SERVERS='["http://localhost:5010/mcp"]'
Sync Parameters to Fabric Developer Workflow Application
Automatically sync your local environment variables to Fabric Developer Workflow Application using the make params command.
This eliminates manual configuration in the Application Dashboard.
Prerequisites
-
Install Fabric Developer Journey CLI from Null Platform:
npm install -g @nullplatform/cli
-
Get your API Key:
Go to your App Dashboard from Fabric Workspace → Click user profile icon → Click "Copy personal access token" -
Export the API Key:
export NP_TOKEN=<your-token>
-
Get your App NRN (Null Resource Name):
- Go to your Application Dashboard
- Click the NRN button to copy your application's NRN
- You'll use this NRN when running the
make paramscommand
# Format: organization=ID:account=ID:namespace=ID:application=ID # Example: organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211
Run the Command
Once prerequisites are met, run this command in your terminal:
# Use your NRN copied from Application Dashboard # Option 1: Using NRN variable (recommended) make params NRN=organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211 # Option 2: Using ARGS variable make params ARGS="--nrn organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211" # Option 3: Call script directly ./scripts/configure-parameters.sh --nrn organization=1234567890:account=9876543210:namespace=1122334455:application=5544332211
These parameters are automatically marked as secrets:
LLM_KEY, EMBEDDING_API_KEY,
DB_PASSWORD, PG_PASSWORD, SECURITY_SECRET_KEY, NP_TOKEN