open-index/open-npm huggingface dataset:
npm package: @iflow-mcp/aborroy_alfresco-mcp-server
Description: Alfresco REST + Model Context Protocol
Latest version: 1.0.0

# Alfresco MCP Proof of Concept (PoC)

This repository contains a Proof of Concept (PoC) for integrating Alfresco as a [Model Context Protocol server](https://modelcontextprotocol.io/quickstart/server). The project demonstrates how to connect Alfresco capabilities to AI using standard client-server applications.

![General Diagram](docs/diagram.png)

## Project Structure

The repository is structured as follows:

- **`alfresco/`**: Contains a Docker Compose setup for a standard Alfresco deployment. This must be run before the MCP integration.
- **`alfresco-mcp-client/`**: A Java-based client application for interacting with the MCP server using [Spring AI](https://spring.io/projects/spring-ai)
- **`alfresco-mcp-server/`**: A Node.js-based server application for handling MCP requests using [TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)

## Prerequisites

Before running the project, ensure you have the following installed:

- Docker (version 20.10.0 or higher)
- Docker Compose (version 1.29.0 or higher)
- Java Development Kit (JDK) 17 or higher (for the client application)
- Node.js (version 18 or higher) and npm (for the server application)
- Git (for cloning the repository)

## Getting Started

### Step 1: Clone the Repository

Clone the repository to your local machine:

```bash
git clone https://github.com/aborroy/alfresco-mcp-poc.git
cd alfresco-mcp-poc
```

### Step 2: Run the Alfresco Docker Compose

Navigate to the `alfresco/` directory and start the Alfresco deployment using Docker Compose:

```bash
cd alfresco
docker-compose up --build --force-recreate
```

This will start the Alfresco Content Services stack, including the repository, Share, and other required services. Wait for all services to initialize completely.

### Step 3: Verify Alfresco Deployment

Once the services are up, you can access the Alfresco Share interface at:

- **Alfresco Share**: [http://localhost:8080/share](http://localhost:8080/share)
- **Alfresco Repository**: [http://localhost:8080/alfresco](http://localhost:8080/alfresco)

Use the default credentials (`admin` / `admin`) to log in.

### Step 4: Set Up and Run the MCP Client

Start the Ollama server locally:

```bash
ollama serve
```

Navigate to the `alfresco-mcp-client/` directory and follow the instructions in its `README.md` to set up and run the MCP client:

```bash
cd ../alfresco-mcp-client
mvn clean package
java -jar target/alfresco-mcp-client-0.8.0.jar
```

## Customization

You can customize the Alfresco deployment by modifying the `docker-compose.yml` file in the `alfresco/` directory. Additionally, the MCP server and client components can be configured to suit your specific use case.

## Contributing

Contributions to this project are welcome! Please open an issue or submit a pull request with your proposed changes.
npm package: @iflow-mcp/abs-mcp-server
Description: ABS Data API MCP Server
Latest version: 0.1.1

# ABS MCP Server

An MCP (Model Context Protocol) server that provides access to the Australian Bureau of Statistics (ABS) Data API. This server allows AI assistants to query and analyze ABS statistical data through the SDMX-ML API.

## Features

- Dynamic discovery of all available ABS datasets via SDMX-ML API
- Query ABS datasets with optional filters
- Support for multiple data formats (JSON, CSV, XML)
- Built on the MCP protocol for seamless integration with AI assistants
- Caching system for improved performance
- Comprehensive logging and error handling

## Installation

```bash
npm install
```

## Development

### Prerequisites

- Node.js 18 or higher
- npm 8 or higher

### Building

```bash
npm run build
```

### Running

```bash
npm start
```

### Development Tools

- `npm run build`: Build the TypeScript code
- `npm start`: Run the server
- `npm run inspector`: Run the MCP inspector for testing

## Project Structure

```
src/
├── index.ts                # Main server implementation
├── services/
│   └── abs/
│       ├── ABSApiClient.ts # ABS API communication
│       └── DataFlowService.ts # Data flow management and caching
├── types/
│   └── abs.ts             # TypeScript type definitions
└── utils/
    └── logger.ts          # Logging configuration
```

## Implementation Details

### ABS API Client

The `ABSApiClient` class handles communication with the ABS Data API:
- Uses SDMX-ML format for data exchange
- Supports multiple response formats (JSON, CSV, XML)
- Implements proper error handling and logging
- Configurable timeouts and retries

### Data Flow Service

The `DataFlowService` class manages ABS data flows:
- Dynamically fetches available datasets from ABS API
- Implements caching with configurable refresh intervals
- Provides methods for querying specific datasets
- Handles data transformation and formatting

### Logging

Comprehensive logging system using Winston:
- Debug-level logging for development
- Structured JSON logging format
- Console and file transport options
- Configurable log levels and formats

## Integration with Claude Desktop

1. Close Claude Desktop if it's running
2. Start the ABS MCP server: `npm start`
3. Start Claude Desktop
4. The ABS tools should appear in the "Available MCP Tools" window

## API Documentation

For more information about the ABS Data API:
- [SDMX-ML Documentation](https://data.gov.au/dataset/ds-dga-b1bc6077-dadd-4f61-9f8c-002ab2cdff10/details)
- [ABS API Documentation](https://api.gov.au/service/f8880c48-2927-4e48-9945-46d36c8c4e11)

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Submit a pull request

## License

MIT License