Member-only story
How I Built an Invoice Tracker Using Unstructured API MCP Server
Utilizing tools, prompts, and resources.

Not a Medium member? You can read the free article here
This project, already hosted in a GitHub Repo, was birthed from inspiration by the hackathon by Unstructured API.
The data used in this project was sourced from Google Images and converted to PDFs for the sake of this project.
This project aims to help business users ask about their invoice bills via Claude Desktop (You can also use other clients listed here). Basically, you’ll prompt Claude to move the needed data from the source to the destination, transform the data to be usable for analysis, and then ask questions that can inform you about your invoice vendor bills, due date, vendor services, etc.
This might be your first time hearing about MCP, so I’ll link some resources at the end of this article. For the sake of this tutorial, MCP (Model Context Protocol) is an open protocol that standardizes how LLMs interact with external applications.
This tutorial will involve creating tools, prompts, and resources, so I’ll briefly explain each one.
- Tools: Tools allow the clients to call executable functions that the MCP servers will execute. The process of instructing Claude to create a source connector is possible using tools in MCP.
- Prompts: Prompts help to define prompt templates that you can use to standardize how you prompt the LLMs. If you use these two prompts on Claude, ‘I need you to trigger a workflow’ and ‘I need you to trigger a workflow with the id, 123456’, assuming you have multiple workflows. Your second prompt is more definitive than the first. The first could make Claude ask you to state the specific workflow that you would like it to trigger. Prompts in MCP help to make your prompts more definitive so that your interaction with the LLM is better enhanced.
- Resources: Sometimes, you might need to pass some data (whether static or dynamic) to Claude to define what information it churns out. In this project, I used resources in MCP to query data from MongoDB using certain criteria. I provided it to Claude so it could provide me with answers about invoice bills.