About HOA-mcp-server
HOA-mcp-server is an MCP server for retrieving relevant information from HOA documents. Its README focuses on configuring a Dify agent to call the server, including model setup and importing a prepared chatflow.
Key features
- 01Retrieval from HOA documents
- 02Dify custom tool setup
- 03Prepared Dify chatflow import
- 04Credential configuration for login
Use cases
- 01Find information in HOA documents through an agent
- 02Connect an HOA MCP server to a Dify chatflow
MCP support
Exposes document-retrieval capabilities to MCP clients. The README describes connecting it to Dify as a custom tool.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEHOA MCP Agent Tutorial
This guide provides step-by-step instructions for setting up and running a Receipt MCP Agent in Dify, using the "llm_en_v_1_3_1" model.
Prerequisites
Before starting, ensure you have the following:
- Dify installed and running via Docker (not running on localhost)
- Access to a LLM endpoint
- Model "llm_en_v_1_3_1" accessible from your endpoint
Step 1: Add LLM Model to Dify
- Click the user icon located in the top-right corner of the interface
- Select "Settings" from the dropdown menu
- Navigate to the "Model Provider" tab
- Install the "OpenAI-API-compatible" model if not already installed
- In the "OpenAI-API-compatible" model, click "Add Model" and configure as follows:
- Model Type: LLM
- Model Name: llm_en_v_1_3_1
- API Key: leave blank
- API endpoint URL:
http://<your-server-ip>:5001/openai/v1 - Model context size: 4096
Step 2: Set up the MCP Agent
- At the top of the Dify interface, navigate to the "Tool" tab
- Click the "Custom" tab
- Click "Create Custom Tool"
- Set the "Name" field to "Call MCP Tool"
- Ensure the MCP Server is running. You can start it by entering the following in your terminal:
python server.py - Set the "Schema" field to the following configuration:
{
"openapi": "3.0.0",
"info": {
"title": "Call MCP Tool",
"version": "1.0.0",
"description": "Call various MCP tools via MCP Server"
},
"servers": [
{
"url": "http://host.docker.internal:8000"
}
],
"paths": {
"/mcp/execute": {
"post": {
"summary": "Call MCP Tool",
"description": "Call MCP Tool",
"operationId": "callTool",
"parameters": [
{
"name": "Accept",
"in": "header",
"required": true,
"description": "Client must accept both application/json and text/event-stream",
"schema": {
"type": "string",
"example": "application/json, text/event-stream"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"jsonrpc": {
"type": "string"
},
"id": {
"type": "integer"
},
"method": {
"type": "string",
"enum": [
"tools/list", "tools/call"
],
"description": "Method to execute"
},
"params": {
"type": "object",
"description": "Parameters for the method"
}
},
"required": [
"method"
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "Result of the operation"
}
}
}
},
"text/event-stream": {
"schema": {
"type": "string",
"description": "Server-sent events stream"
}
}
}
},
"400": {
"description": "Bad Request"
},
"406": {
"description": "Not Acceptable - Client must accept both application/json and text/event-stream",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"example": "Client must accept both application/json and text/event-stream content types"
}
}
}
}
}
},
"500": {
"description": "Internal Server Error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error message"
}
}
}
}
}
}
}
}
}
}
}
- Click "Save" when you finish
Step 3: Integrate the LLM and MCP Agent via Dify
Create a temporary chatflow
- On the main interface, locate the "Create App" box
- Click "Create from Blank"
- Select "Chatflow"
- Name the chatflow "temp"
Add a "Call Tool" block
- Right click the "Answer" block
- Select "Change Block"
- Under the "Tools" tab, select "Call MCP Tool"
- Connect the "Call Tool" block to the LLM block
Export temporary chatflow
- Click on the chatflow name in the top-left corner
- Click "Export DSL"
- Move "temp.yml" to the project folder
Import HOA MCP Agent yml
- In the project folder, run:
python generate_yml.py - On the main interface, locate the "Create App" box
- Click "Import DSL file"
- Select the file "HOA MCP Agent.yml" in the project folder
- In the "Log In" block, in the "params" section, replace the arguments "host_ip", "email", and "password" with your credentials
Configuration Notes
- Make sure to replace
<your-server-ip>with your actual server IP address - Ensure all required credentials are properly configured in the final step
- The MCP server must be running before attempting to use the agent
Troubleshooting
- If you encounter connection issues, verify that Docker is not running on localhost
- Ensure the MCP server is accessible at the specified URL
- Check that all required ports are open and accessible
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.