Scripture. Of Course I don’t know if it proves James was a step-brother, but it certainly proves that James was not a uterine brother of Jesus.
Below is from the post of Randy Carson that can be found
here
**1. Jesus had a “brother” named James.
**"Isn’t this the carpenter’s son? Isn’t his mother’s name Mary, and
aren’t his brothers James, Joseph, Simon and Judas?”
(Matthew 13:55)
2. James, the Lord’s “brother”, is an apostle.
“Then, after three years I went up to Jerusalem to visit Cephas, and remained with him fifteen days. But I saw none of the other apostles except
James, the Lord’s brother. (Galatians 1:18-19)
3. There are two apostles named James.
“When morning came, he called his disciples to him and chose twelve of them, whom he also designated apostles: Simon (whom he named Peter), his brother Andrew,
James, John, Philip, Bartholomew, Matthew, Thomas, James son of Alphaeus, Simon who was called the Zealot, Judas son of James, and Judas Iscariot, who became a traitor.”
(Luke 6:13-16)
4. One James (the brother of John) is not the uterine brother of Jesus; his father is Zebedee.
“
James son of Zebedee and his brother John (to them he gave the name Boanerges, which means Sons of Thunder)”
(Mark 3:17)
5**. The other apostle named James is not the uterine brother of Jesus; his father is Alpheus.**
“And when it was day, he called his disciples, and chose from them twelve, whom he called apostles: Simon, whom he named Peter and Andrew his brother, and James and John and Philip and Bartholomew, and Matthew and
James the son of Alpheus, and Simon who was called the Zealot, and Judas the son of James and Judas Iscariot, who became a traitor.” (Luke 6:13-16)
6. Therefore, neither apostle named James was a uterine brother of Jesus.